
平时的开发过程中咱们的ssh 公钥都是配置在公司的git上的,但是要是咱们想要从github上通过ssh clone代码,该怎么做呢?不能直接把配置在公司的公钥配置在git上吧,这也太不安全了,有啥好的方式没有,答案肯定是有的,那就是配置两套 ssh 公钥。废话不多说直接开始。
第一步:创建ssh-key
在本地创建ssh公钥,会提示覆盖之前已经存在的相同名称的公钥,这是因为我之前创建过相同名称的公钥,但是过期了我重新生成,所以直接覆盖。可以看到我的第二张图里已经有两对公私钥。
ssh-keygen -t rsa -f ~/.ssh/id_rsa.qlh -C "自己的邮箱"


第二步:修改配置
配置文件路径:/Users/liluyang/.ssh 下的config。按照下面的格式配置,我第二个截图有公司的git地址就隐藏了,大家可以对照着大概看下格式。
# second user(xxx@xxx.com)
# 建一个github别名,新建的帐号使用这个别名做克隆和更新
Host github
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa.github
# second user(xxx@xxx.com)
# 建一个gitee别名,新建的帐号使用这个别名做克隆和更新
Host gitee
HostName gitee.com
User git
IdentityFile ~/.ssh/id_rsa.gitee

第三步:通过别名引用
通过别名建立连接,这个使用的格式如下,这里需要注意的是可能会有报错,提醒公钥过期,其实是git仓库里的配置过期了,替换成刚才生成的新的即可。
ssh -T 这里是你的git地址

通过修改git 仓库的ssh密钥,具体的路径如下。添加的流程我就不贴图了,添加完毕就等最后一步了。

第四步:添加密钥到ssh-agent
配置完毕第三步之后,你还可能遇到如下报错。那么在添加公钥到ssh-agent就可以了。报错下面的命令直接执行就可以。
Warning: Permanently added 'e.coding.net,175.24.250.178' (RSA) to the list of known hosts.
git@e.coding.net: Permission denied (publickey).
ssh-add -K ~/.ssh/id_rsa.qlh
再次执行,ssh -T
git@e.coding.net
可以看到成功信息。

希望可以帮助到大家,也给我自己预留一下操作方法,防止以后忘记了可以查看。
版权声明:本文为lly576403061原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。