git生成SSH秘钥(git报错git@github.com: Permission denied (publickey). Could not read from remote repositor)
事情是這樣,公司的電腦本來更新代碼,拉取代碼是沒有任何問題的,昨天下班回家后想著把代碼拉下來看看,然后在云效上面看到之前生成的秘鑰,有好幾個之前設置的秘鑰,感覺好像沒有用手賤給刪掉了,早上來公司想著拉一下代碼,結果報錯了。
error: git@github.com: Permission denied (publickey). Could not read from remote repositor
其實就是因為之前設置好的已經在使用的秘鑰被我刪掉了,所以如果諸如此類的報錯基本就是因為秘鑰失效的問題造成。
或者說你是第一次使用git,或者云效,等等此類的代碼管理工具。
第一次配置生成秘鑰:
?在你拉取代碼的時候可以選擇使用SSH方式或者HTTPS的方式,暫只討論SSH方式,你可以管理你的SSH秘鑰,點擊立即查看它:
在添加SSH秘鑰之前,你可以先生成它
目前平臺僅支持 RSA 算法生成的 SSH 密鑰,在你的計算機命令行中首先執行以下語句,判斷是否已經存在本地公鑰:
cat ~/.ssh/id_rsa.pub如果你的電腦是window系統,執行以上命令,通常會報如下的錯誤:
'cat' 不是內部或外部命令,也不是可運行的程序或批處理文件。
這是因為cat是Linux系統專有的命令,那么可以跳過這個步驟,直接生成秘鑰,執行如下命令:
ssh-keygen -t rsa -C "<您的郵箱>"?將雙引號中的內容更換為你自己的注冊Git使用的郵箱地址即可,回車:
那么,如果這個時候又報錯了呢,如下:
ssh-keygen 不是內部或外部命令,也不是可運行程序或者批處理文件。
這是因為Git環境變量相關的配置沒有完善,解決如下:
第一,首先確保你已經正確安裝Git,如果沒有,請先安裝再執行以下操作。
第二,找到Git(安裝目錄)/usr/bin目錄下的ssh-keygen.exe (如果找不到,可以在計算機全局搜索),復制ssh-keygen.exe文件的系統路徑。如下:
第三,在 “我的電腦(或計算機)”右鍵 屬性-->高級系統設置-->環境變量-->系統變量,找到Path變量,點擊編輯,然后光標移動到最后(一行),輸入英文狀態下的分號,將第二步復制的路徑粘貼到最后面,確定,保存。
完成以上三部便可以了,接下來打開終端窗口(快捷鍵win+R,輸入cmd),然后輸入之前生成秘鑰的命令? ssh-keygen -t rsa -C "<您的郵箱>",回車(記得替換郵箱),如下:
這是要求你提供一個位置去存放公鑰、私鑰文件,你可以選擇使用默認位置保存公鑰、私鑰文件(直接回車)。
當然你應該記住這個默認的地址,以方便你尋找秘鑰的存儲位置,如C:\Users\PC500/.ssh/id_rsa。
一路回車之后,你所需要的秘鑰就生成了,你可以去粘貼它了,找到相應位置,選擇記事本方式打開id_rsa.pub文件,復制全部內容,到之前打開的添加SSH秘鑰的地方,粘貼進去:
標題可以隨便起,為了方便記憶,可以按照項目名稱的形式定義標題名稱,完成后,點擊添加,至此SSH秘鑰邊已經生成可以使用了,快去拉取你得代碼吧。
總結
以上是生活随笔為你收集整理的git生成SSH秘钥(git报错git@github.com: Permission denied (publickey). Could not read from remote repositor)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 整理 kanban 的 DoR 和 Do
- 下一篇: 分享个神途游戏的辅助脚本,这类传奇手游能