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