本文以Windows系统为例,仅适合初学者。和Lin和mac区别不大,望不要嫌弃
快速跳转至操作步骤
写在前头 大佬略过
问题引入:平时我们直接拷链接克隆远程的代码仓库用的都是HTTPS协议,可让人好奇的是GitHub官方Code下面怎么提供了三种方式?
其中除了我们熟知的HTTPS
方式,拷贝Github CLI
的命令也是很方便的克隆代码方式。
正题:今天主要讲的是这个SSH怎么用!
配完SSH,下次登录时服务器就会自动发加密过的东西过来,然后本地主机就会自动解好了发给它,相当于能自动连上仓库了。
简单了解一下SSH
要知道用HTTPS的链接拷贝和SSH的拷贝来连接没啥区别,都是授个权然后输命令或者第三方图形软件操作。
不过SSH的密码配置是HTTPS是不同的,这里主要说说几点不同
- SSH授权一次 HTTPS每次都要授权
- SSH只能配了才能用、HTTPS有你的信息谁都能用
- SSH生成密钥对登录、HTTPS用邮箱账户和密码登录
常规做法
如果你开了代理,那么进行此类操作时养成习惯:先把它关掉 以免报错kex_exchange_identification
- Windows+I打开设置,选应用→应用和功能→可选功能
进来这个界面检查一下电脑支不支持SSH相关服务。
1. cd到.ssh目录下生成SSH密钥
ssh-keygen -t rsa -C "Account@sp.com"
然后给它起个名,以后这就是存你本机SSH的文件名了
2. 输入密码
通常会生成没有格式的私钥文件xxx
和通过私钥加密过的格式为xxx.pub
的公钥文件
打印一下可以看到我们要的内容已经在里面有了
3. 打开方式
如果我们想把存起来随时拿出来拷贝用的话,需要去打开这个密钥文件。
私钥没文件格式打不开;直接打开公钥,电脑也会推荐你微软自家那个Publisher打开
没买Pub可能打不开它。
公钥私钥我们都用随便一款编译器打开就行
4. 配置
- 进GIthub个人主页,左面一看就找到了这个
SSH and GPG keys
- 点
new SSH key
- 咱们起个名,把公钥拷进去、点
Add SSH key
add好了以后记录如下:
配好就可以愉快的玩耍辣!
基础知识储备
几个小白(包括我初见也认为它很难顶)易混淆概念粗浅说明:
- 密钥:可以粗略认为,这里的密钥是指把密码当作一把钥匙通过加密拆成一公一私,两只密钥。它们拼成一对,配对使用就能当一把钥匙用(钥匙就是授权用的邮箱和密码信息)所以也叫密钥对。
- 私钥:一半分给私人,是给你主机用的,这部分密钥叫私钥。
- 公钥:一半分给公家仓库的远程服务器主机用,最常见的就是Github,这部分密钥叫公钥。
- 最大的好处就是只要你愿意你随时可以生成你想用的SSH加以使用,删除看着不爽的SSH,连了多少台主机一清二楚,并且也不用记住密码。
- 只有你想要用SSH连仓库,唯有拿了密钥的你才能配对仓库里的公钥;也唯有曾通过你手配置过的仓库才有能力配对你的公钥。选择权完全在你手里,别人拿到你的SSH链接也没用。
- 也就是说,你配给仓库的任何一个SSH,都只有本台主机有完全唯一指定绑定的SSH密钥。
补充
- 当我们用最朴实的方式实现了配置之后就理解了SSH的用法,本文是带新小伙伴入门SSH。现在Git软件都支持直接用它们自带的功能生成或选择SSH,其实都一样,而且还有配置方法的相关例子和教程,你还可以在软件里ping一下测试远程的连接状况
我拿Fork举个例子 放个种草链接
a. new一个SSH:File
→Configure SSH keys...
→+
→New SSH Keys
→Key File Name:
&Email:
→Generate
记得打勾点OK选择当前SSH
b. 打开已配置SSH:File
→Configure SSH keys...
→+
→Open Existing SSH key...
c. 更多的命令行操作,可以参考仓库的官方文档
文中是以GitB为例子跑的
这个东西只要是支持生成SSH的东西就行 你怎么顺手怎么来