检查SSH-KEY是否已经生成过

1
ls -al ~/.ssh

生成新的SSH-KEY

1
ssh-keygen -t rsa -C "your_email@example.com"

生成成功

提示如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
ba:dd:cc:eb:69:f2:eb:99:1a:9c:61:91:8d:8f:50:d0 your_email@example.com
The key's randomart image is:
+--[ RSA 2048]----+
| .o. |
| .E+ |
| . + . |
| . + |
| S . |
| + o |
| . + |
| o.=.+ |
| . oB&o |
+-----------------+

查看生成成功的KEY

1
cat /root/.ssh/id_rsa.pub

内容如下

1
ssh-rsa AAAAB3NzaC1yc2EAA11DAQABAAABAQCzPmuU6C5mewB21dVOR4087PIVwIuIUf8XQdOupKYJ5/WLJmJB9Ko2A9e65BCGaBT3jdvXnYMrjcgT1nN//Gtb+jeYieypiP/OJbMCoXVKJOOpDFDiOLV33cdGRuj5VyjfSBne5nCxvgCOxUPko5j4yFTK97ibaXtyzCJPSMA/22IX6QYdyD98pcikJqGhbSZsxhAQJZjostdRC9LwcERAnYF55ejz9336oPyoHztJemDDY4tZ2nGBn1mEMOdBnuaqLusaS4YRS7HlSz11S7ZFJuKAdNlPk3zVw6vws42sJbLVwjXlu454FmLxRO1AkmmEunAfohHBJdHf0R11KGMR your_email@example.com

要注意将最后的邮箱也要带着哈。

以coding仓库平台为例

登录coding平台

找到下面的个人账户设置栏目

image-20210327012149505

选择SSH公钥

image-20210327012251050

新增公钥

image-20210327012309138

添加公钥信息

image-20210327012501013

添加了之后需要输入账户的密码进行二次确认,double check~。

至此添加公钥完成,开始进入测试环节。

首次建链

完成后在命令行测试,首次建立链接会要求信任主机。

1
ssh -T git@e.coding.net

输入命令一路yes加回车,最终输出信息如下,代表连接成功。

image-20210327012757589

小坑

我们要查看一下当前仓库的remote地址信息,因为ssh公钥的连接方式,只支持ssh方式拉取代码,并不支持http方式,所以要确认一下我们当初拉取代码的时候是不是用的http的方式,如果是的话,需要重新设置一下remote地址。

这里我采用的是不需要查看地址信息,直接进行重置操作。

清除remote信息
1
git remote rm origin
查看remote

查看一下remote信息,确保已经完全被删除了。如果没有信息输出代表没问题。

设置remote地址
1
git remote add origin git@e.coding.net:lucfzy/lucfzy-blog-xxx/xxx.git

大功告成

测试结果如下,无需重复输入密码,则代表没问题。

1
git pull origin <branch>

image-20210327013331412

参考如下

CentOS 生成SSH-KEY

配置SSH公钥