Permission denied (publickey). fatal: Could not read from remote repository.
執行語句git push -u origin master的時候出現下面的錯誤
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
出現這個錯誤的原因是:你在本地或者服務器上面沒有生成ssh key導致的。
我們也可以通過切換到用戶目錄下的.shh下,查看是否存在文件id_rsa和id_rsa.pub.
如圖所示:也可以看到裏面的確沒有id_rsa和id_rsa.pub兩個文件。
下面解決上面的問題
1.首先,如果你沒有ssh key的話,在ternimal下輸入命令:ssh-keygen -t rsa -C "[email protected]", [email protected]改為自己的郵箱即可,途中會讓你輸入密碼啥的,不需要管,一路回車即可,會生成你的ssh key。(如果重新生成的話會覆蓋之前的ssh key。)
2.然後再ternimal下執行命令:ssh -v [email protected]最後兩句會出現:
No more authentication methods to try.
Permission denied (publickey).
3.這時候再在ternimal下輸入:
ssh-agent -s
然後會提示類似的信息:
SSH_AUTH_SOCK=/tmp/ssh-GTpABX1a05qH/agent.404; export SSH_AUTH_SOCK;
SSH_AGENT_PID=13144; export SSH_AGENT_PID;
echo Agent pid 13144;
4.接著再輸入:ssh-add ~/.ssh/id_rsa
這時候應該會提示: Identity added: ...(這裏是一些ssh key文件路徑的信息)
(註意)如果出現錯誤提示:Could not open a connection to your authentication agent.
請執行命令:eval `ssh-agent -s`後繼續執行命令 ssh-add ~/.ssh/id_rsa,這時候一般沒問題啦。
5.打開你剛剛生成的id_rsa.pub,將裏面的內容復制,進入你的github賬號,
在settings下,SSH and GPG keys下new SSH key,title隨便取一個名字,然後將id_rsa.pub裏的內容復制到Key中,完成後Add SSH Key。
6.最後一步,驗證Key在ternimal下輸入命令:ssh -T [email protected]
提示:Hi xxx! You‘ve successfully authenticated, but GitHub does not provide shell access.
這時候你的問題就解決啦,可以使用命令 git push -u origin master
Permission denied (publickey). fatal: Could not read from remote repository.