问题:配置完 SSH Key, 使用【http地址】拉取代码异常。报一些没有权限的问题。
原因:配置多个gitee账号(码云)后。拉取代码时,应使用~.ssh/config中Host地址,而不是码云给出的SSH项目地址。
正文:书写本文章是受到=【如下两篇文章共同启发】+【灵J一动】。
参考文章01地址:http://www.imooc.com/article/76305?block_id=tuijian_wz
参考文章02地址:https://blog.csdn.net/wzwdcld/article/details/80782561
1、【01文章】是通常生成key的步骤,没有什么特别的。没有说到拉取代码的步骤。
2、配置成功后,使用码云给出的【http地址】拉取/提交 代码时会出现报错(不能拉取;没有权限等),思考了好久也没有想到解决办法。
3、后来,无意间点到【文章02】看到【必要】,才意识到自己没有使用【SSH地址】,而是【http地址】。但是切换码云给出的【SSH地址】,依旧未成功,还是没有权限。
4、这时,眼前走过来一个翩翩少女,身着短裙,脚穿高跟鞋.......就是好看。在我面前走过。我“灵机一动”,
.ssh/config中配置的Host是做什么?它与【gitee.com】有什么关系?用Host替换【gitee.com】拉取代码会怎样?真相只有一个......
妹子,真~好~看~ !!! 关 机 走 人 !
重点:SSH---使用的是key;
在使用SSH拉取代码时,【git项目地址】=【配置host】+【项目相对地址】。
即 【 线上git地址】= 【git@gitee.com:myTest/oneTest.git】
下文【4】处【配置的host】=【git@git.oschina.net.01】
使用【SSH拉取地址 】= 【git@git.oschina.net.01:myTest/oneTest.git】
1、生成并部署账号01的SSH key
ssh-keygen -t rsa -f /c/Users/.ssh/id_rsa_gitee_01 -C "01@qq.com"
2、生成并部署账号02的SSH key
ssh-keygen -t rsa -f /c/Users/.ssh/id_rsa_gitee_02 -C "02@qq.com"
3、添加密钥到SSH Agent
ssh-add /c/Users/.ssh/id_rsa_gitee_01
ssh-add /c/Users/.ssh/id_rsa_gitee_02
4、创建并配置.ssh/config文件, Host属性值一定要区分开(拉取代码时会用到)。
#第一码云账号:Host一定要区分开
Host git.oschina.net.01
HostName gitee.com
IdentityFile ~/.ssh/id_rsa_gitee_01
PreferredAuthentications publickey
User 01@qq.com
#第二个码云账号:Host一定要区分开
Host git.oschina.net.02
HostName gitee.com
IdentityFile ~/.ssh/id_rsa_gitee_02
PreferredAuthentications publickey
User 02@qq.com
5、测试是否配置成功
ssh -T git@git.oschina.net.01
ssh -T git@git.oschina.net.02
下图是我本地的测试,我配置的【Host】= 【git@git.oschina.net.lsr】
欢迎各位转载本文章:https://my.oschina.net/LiShanRui/blog/write/3034686