本地git和基于web服务的远程git仓库(比如GitHub、GitLab 、Gitee等)通信我们也一直在使用,如 图1 可以看到,远程提供了两种方式:SSH 和 HTTP。
![](https://img.haomeiwen.com/i574822/f7a1e4342786134a.png)
由于HTTP方式需要我们输入密码,因此对于经常和远程仓库通信的操作就比较麻烦,所以在开发中我们常选用SSH KEY 的方式,也就是需要我们配置SSH KEY 到远程仓库中,SSH KEY其实就是采用非对称加密方式(公钥和私钥)来管理账号和密码的。
下面来介绍一下SSH KEY 的生成和使用步骤:
-
首先需要检查下本地有没有SSH key存在
ls -al ~/.ssh
如果有SSH KEY 会显示如 图2 :
![](https://img.haomeiwen.com/i574822/a4d9145bc0944a20.png)
没有SSH KEY 会显示 如 图3 :
![](https://img.haomeiwen.com/i574822/16efa281cbc0174f.png)
-
生成新的SSH KEY ,终端输入下面命令来生成SSH KEY,
ssh-keygen -t rsa -C "这里填你的邮箱"
结果如 图4 :
![](https://img.haomeiwen.com/i574822/bf706d01022dea79.png)
然后 Enter passphrase 不用输入,一路回车键即可。
将新生成的key添加到ssh-agent中:
ssh-add ~/.ssh/id_rsa
如 图5 :
![](https://img.haomeiwen.com/i574822/d148863bd0bf66a2.png)
- 将本地的SSH KEY添加到远程的GitLab中
我们可以使用 cat ~/.ssh/id_rsa.pub 将公钥显示在终端上,再进行复制,
cat ~/.ssh/id_rsa.pub
如 图6 :
![](https://img.haomeiwen.com/i574822/f3f1c3b34915843b.png)
也可以使用下面命令直接复制
pbcopy < ~/.ssh/id_rsa.pub
如 图7 :
![](https://img.haomeiwen.com/i574822/45a4d733abaa2a8e.png)
然后添加到GitLab的settings中SSH KEY 中,如 图8 :
![](https://img.haomeiwen.com/i574822/83d592419fd50989.png)
网友评论