一、問題簡述:
執行git clone git@github.com:T-Better/Soft_test.git時報錯:\302\226git@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.
二、問題復現:
刪除了本地庫或者對本地庫移動了位置后重新git clone時發現報錯:
\302\226git@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.
三、出錯原因
1.ssh key有問題,具體原因忘了
四、解決辦法
重新生成ssh-key並添加到github中:
解決步驟:
1. 生成新的SSH key
如果是客戶端與服務端未生成ssh key,那么直接使用:ssh-keygen -t rsa -C "youremail@example.com" 生成新的rsa密鑰即可。
如果是客戶端與服務端的ssh key 不匹配,此時需要先將本地生成的 id_rsa以及id_rsa.pub這兩個文件【一般在用戶名下的.ssh文件夾下】刪除掉,然后再使用上述指令生成新的rsa密鑰。
補充:ssh-keygen -t rsa -b 4096 -C "郵箱":這條命令的目的是為了讓本地機器ssh登錄遠程機器上的GitHub賬戶無需輸入密碼。
ssh-keygen(基於密匙的安全驗證):需要依靠密鑰進行安全驗證,必須為自己創建一對密鑰,並把公用密鑰放在需要訪問的服務器上。
-t 即指定密鑰的類型。密鑰的類型有兩種,一種是RSA,一種是DSA。
-b 指定密鑰長度。對於RSA密鑰,最小要求768位,默認是2048位。命令中的4096指的是RSA密鑰長度為4096位。DSA密鑰必須恰好是1024位(FIPS 186-2 標准的要求)。
-C 表示要提供一個新注釋,用於識別這個密鑰。“”里面不一定非要填郵箱,可以是任何內容,郵箱僅僅是識別用的key。
2. 將SSH key 添加到 ssh-agent
使用 ssh-add ~/.ssh/id_rsa 將產生的新ssh key添加到ssh-agent中:
補充: 如果出現“Could not open a connection to your authentication agent.”的錯誤可以使用以下兩種方式解決:
eval "$(ssh-agent -s)"
或者:
eval `ssh-agent`
然后再次執行 ssh-add ~/.ssh/id_rsa 指令。
3. 將SSH key 添加到你的GitHub賬戶
在賬戶選項中選擇 “Settings”–>“SSH and GPG keys”–>“New SSH key”,然后打開之前新生成的id_rsa.pub文件,將密鑰復制后填寫到賬戶中【注意填寫時的格式要求】:
4. 驗證key
使用 ssh -T git@github.com 對ssh key 進行驗證:
當出現上述界面時說明配置成功,此時可以再次執行git push 操作將本地倉庫推送到遠程。
注: 以上操作命令均在 Git Bash 中完成。
“fatal: Could not read from remote repository.“報錯也可用上法
解決辦法轉自:https://blog.csdn.net/weixin_40922744/article/details/107576748
聲明:本文章是在以上地址博文基礎上進行整理學習,如有侵權,請聯系博主刪除,感謝知識共享,一起進步,加油鴨