![](https://i-blog.csdnimg.cn/blog_migrate/99e21517872dd685b862aedc18db915b.jpeg)
平时的开发过程中咱们的ssh 公钥都是配置在公司的git上的,但是要是咱们想要从github上通过ssh clone代码,该怎么做呢?不能直接把配置在公司的公钥配置在git上吧,这也太不安全了,有啥好的方式没有,答案肯定是有的,那就是配置两套 ssh 公钥。废话不多说直接开始。
第一步:创建ssh-key
在本地创建ssh公钥,会提示覆盖之前已经存在的相同名称的公钥,这是因为我之前创建过相同名称的公钥,但是过期了我重新生成,所以直接覆盖。可以看到我的第二张图里已经有两对公私钥。
ssh-keygen -t rsa -f ~/.ssh/id_rsa.qlh -C "自己的邮箱"
![](https://i-blog.csdnimg.cn/blog_migrate/40498294f450788f5fbdeb32b9b049d1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b3f59d7e0e9114e05dc87f10dc4dff7f.png)
第二步:修改配置
配置文件路径:/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
![](https://i-blog.csdnimg.cn/blog_migrate/c8261a42a3aa39b3d538e1ac65bb2294.png)
第三步:通过别名引用
通过别名建立连接,这个使用的格式如下,这里需要注意的是可能会有报错,提醒公钥过期,其实是git仓库里的配置过期了,替换成刚才生成的新的即可。
ssh -T 这里是你的git地址
![](https://i-blog.csdnimg.cn/blog_migrate/3a904b826d98a5c8ed2bb0bfa25de269.png)
通过修改git 仓库的ssh密钥,具体的路径如下。添加的流程我就不贴图了,添加完毕就等最后一步了。
![](https://i-blog.csdnimg.cn/blog_migrate/82d884dfab6470fbee8cb387af07690e.png)
第四步:添加密钥到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可以看到成功信息。
![](https://i-blog.csdnimg.cn/blog_migrate/beb6083f267ca4bcbfd56e901dfb276a.png)
希望可以帮助到大家,也给我自己预留一下操作方法,防止以后忘记了可以查看。