GIT 免密登录解决多账户问题,涉及 SSH 私钥/公钥

在我们实际项目中使用 Git 进行项目版本管理的时候,总会出现需要输入账户与密码的情况,尤其是私有仓库与公有仓库混合起来使用的时候;但很多同学输入一次后就好了,而我总会出现莫名其妙的问题需要再次重新输入密码,为了一次性解决这个问题我采用免密的方式处理,所以记录了此篇文章。

生成 SSH 私钥/公钥

1
ssh-keygen -t rsa -C "your.email@example.com" -b 4096

注意:此步骤会弹出私钥密码输入,此密码不是仓库的账户密码。

复制 SSH 公钥

一般公钥的名称为 id_rsa.pub ,把此公钥添加到 Gitlab 的个人账户的 SSH Keys 中去。

加入 SSH 私钥

这种方式只是临时的,重启之后会失效。

1
ssh-add ./id_rsa

在 Mac OS X 系统中,由于有密钥管理体系,所以我们只用利用下面的命令即可达到永久记住的效果。

1
ssh-add -k ./id_rsa

保存配置

1
2
Host gitlab.example.com
IdentityFile ~/.ssh/id_rsa

测试

1
ssh -T git@example.com

更换仓库地址

1
git remote set-url origin git@example.com:caryyu/jshop.git

参考资料

https://gitlab.com/help/ssh/README