git push出現Permission denied (publickey)錯誤

Shisui發表於2018-09-28

這個問題原因是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 金鑰路徑

這個時候新增私鑰就沒有問題了,至於出問題原因應該是環境變數配置的問題,具體細節也不是很清楚,如果有時間再去折騰了。

相關文章