1. 程式人生 > >Permission denied (publickey). fatal: Could not read from remote repository.

Permission denied (publickey). fatal: Could not read from remote repository.

ech IT git 生成 兩個文件 tin 一個 繼續 con

執行語句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 keysnew SSH keytitle隨便取一個名字,然後將id_rsa.pub裏的內容復制到Key中,完成後Add SSH Key

6.最後一步,驗證Keyternimal下輸入命令: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.