使用Git出現以下錯誤"Git@github.com: Permission denied (publickey). Could not read from remote repository."解決方案


轉載於:https://blog.csdn.net/dotphoenix/article/details/100130424

git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Failed during: git fetch origin master:refs/remotes/origin/master --tags --force

大概率是秘鑰設置不對的問題。

首先檢查有沒有在GitHub的https://github.com/settings/keys上添加你本機的SSH key。注意換了電腦是要重新添加的,每台都不一樣。添加SSH key的方法:(引自廖雪峰老師的教程)
在用戶主目錄下,看看有沒有.ssh目錄,如果有,再看看這個目錄下有沒有id_rsa和id_rsa.pub這兩個文件,如果已經有了,可直接跳到下一步。如果沒有,打開Shell(Windows下打開Git Bash),創建SSH Key:

$ ssh-keygen -t rsa -C "youremail@example.com"
你需要把郵件地址換成你自己的郵件地址,然后一路回車,使用默認值即可。

如果一切順利的話,可以在用戶主目錄里找到.ssh目錄,里面有id_rsa和id_rsa.pub兩個文件,這兩個就是SSH Key的秘鑰對,id_rsa是私鑰,不能泄露出去,id_rsa.pub是公鑰,可以放心地告訴任何人。

第2步:登陸GitHub,打開“Account settings”,“SSH Keys”頁面:

然后,點“Add SSH Key”,填上任意Title,在Key文本框里粘貼id_rsa.pub文件的內容:

點“Add Key”,你就應該看到已經添加的Key:

如果添加了還是出現這個問題,那么問題大概率就定位在了你本機的這個git倉庫並沒有和這個SSH key 關聯上。用下述方法解決:
ssh-add "你的 id-rsa 文件地址"
注意這里ssh-add后面填的是私鑰地址,如mac電腦是 /Users/用戶名/.ssh/id_rsa

add之后可以用

$ ssh git@github.com
驗證是不是添加成功。

有時候你GitHub倉庫初始化時候帶了Readme或其他文件,推送之前需要先git pull 拉下來,會報“ * branch master -> FETCH_HEAD fatal: 拒絕合並無關的歷史”的錯誤,解決方法是在git pull時加上–allow-unrelated-histories,如下:
git pull origin master --allow-unrelated-histories
這樣應該就可以正常push了。

此篇文章轉載於:https://blog.csdn.net/dotphoenix/article/details/100130424


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM