git多公钥配置下的问题
问题描述
在配置git多账号时,对于已经完成平台上公钥配置,且在~/.ssh文件下完成config文件操作的,可能在你ssh -T git@github.com
等时候会出现如下之类的问题:
①Permission denied (publickey)
②Could not open a connection to your authentication agent
解决方法
先声明,这儿放的解决方法对本人不适用,本人的解决方法已放在最后。
查了很多博客,大概有如下这么些方法:
针对问题①,首先查看全局账户名和账户邮箱是否一致:
git config --global user.name
git config --global user.email
如果没问题,那你删掉~/.ssh文件再试一下,要是还不行,可能是因为你的私钥没能放到系统里,则可以查看一下,用ssh-add -l命令
# 先开启ssh-agent,否则可能会报错误②
# windows下
ssh-agent bash //或者用这个 eval $(ssh-agent)
# macOS/Linux下
eval `ssh-agent`
# 然后再进行ssh-add操作
ssh-add -l //查看已加入的
ssh-add -D //删除所有已经加入的id_rsa
里面应该是没有你要用到的私钥的,因此
# ***中放置你的私钥名称,如id_rsa_github,记得看清私钥的位置是不是在~/.ssh下
ssh-add ~/.ssh/***
这个操作完成后,再去ssh -T git@github.com
一下,应该是会出现一个提示,输入yes回车,然后应该可以了的,但是你也许会发现,重新打开终端,再来一次的时候,就又出现了原来的问题。也就是说,想要成功连上,每次都要这么麻烦地搞一下。
对于这些问题,还有一种说法是文件权限不够,要改权限,可以参考
https://www.zhihu.com/question/21402411/answer/42836492
但上述方法都没能解决本人的需求,所以我继续瞎整。
个人方法
我将整个git卸载干净并重新安装,重新进行公钥等的配置,但是在生成公钥时,我特意把原来默认的一个id_rsa给保留下来了,在此基础上再进行其他自命名公钥的生成和配置。然后在config文件配置时,参考了这篇文章https://blog.csdn.net/weixin_43464236/article/details/105859330?
至此,本人的问题解决,虽然我还是不知道问题到底出在哪里。
希望能对大家有所帮助。