git push出现Permission denied (publickey)错误

这个问题原因是ssh认证错误,即使github已经添加了正确公钥。

解决方法两个:

创建密钥但不修改默认路径和文件名:

ssh-keygen

文件名也用默认的id_rsa,路径也是默认的,不要修改
然后CMD下执行

start-ssh-agent

但是如果使用多个密钥或者使用自定义的密钥就不行了,至少我没找到方法,这个时候自定义的ssh私钥就比较麻烦。

添加ssh私钥,使用ssh-add添加密钥

这个时候可能出门另一个问题,即

Error connecting to agent: No such file or directory

Could not open a connection to your authentication agent

Windows上处理起来真的比较麻烦,怎么解决有时间单独水一贴去了,挺麻烦的,已查到的解决方法也很曲折(没时间就不说了)
简单的方法来说,在git bash里面执行,注意不是CMD或PS里面!

eval `ssh-agent -s`

eval $(ssh-agent -s)

再添加密钥就好了

ssh-add 密钥路径

这个时候添加私钥就没有问题了,至于出问题原因应该是环境变量配置的问题,具体细节也不是很清楚,如果有时间再去折腾了。

相关推荐