1.首先,判斷是否生成了密鑰和公鑰
1.打開Git Bash。
2.輸入ls -al ~/.ssh
以查看是否存在現(xiàn)有 SSH 密鑰。
3.檢查目錄列表以查看您是否已有公共 SSH 密鑰。默認情況下,GitHub 支持的公鑰的文件名是以下之一:id_rsa.pub、id_ecdsa.pub、id_ed25519.pub。
2.沒有生成密鑰,如果已有密鑰請忽略這一步?;蛘吣憧梢园创瞬僮髦匦律梢粋€
如果您收到~/.ssh不存在的錯誤,則說明您在默認位置中沒有現(xiàn)有的 SSH 密鑰對,需要創(chuàng)建新的 SSH 密鑰對,具體見下一節(jié),這里先討論有密鑰對的情況。
1.打開Git Bash。
2.粘貼下面的文本,替換為您的 GitHub 電子郵件地址。
ssh-keygen -t ed25519 -C "your_email@example.com"
(這將使用提供的電子郵件作為標(biāo)簽創(chuàng)建一個新的 SSH 密鑰。
? ?注意:如果您使用的是不支持 Ed25519 算法的舊系統(tǒng),請使用:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
)?
?3.在出現(xiàn)提示時,鍵入安全密碼
> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]
?3.將密鑰加入ssh-agent
1.如果您看到列出了想要用來連接到 GitHub 的現(xiàn)有公鑰和私鑰對(例如id_rsa.pub和id_rsa ),則可以將該密鑰添加到 ssh-agent。
2.將密鑰添加到ssh-agent
$ eval "$(ssh-agent -s)"
3.將您的 SSH 私鑰添加到 ssh-agent。如果您使用不同的名稱創(chuàng)建了密鑰,或者要添加具有不同名稱的現(xiàn)有密鑰,請將命令中的id_ed25519替換為您的私鑰文件的名稱。
ssh-add ~/.ssh/id_ed25519
?(注:如果您使用的是 macOS 或 Linux,則可能需要在生成新的 SSH 密鑰之前更新 SSH 客戶端或安裝新的 SSH 客戶端。
將硬件安全密鑰插入計算機。
打開Git Bash。
粘貼下面的文本,替換您在 GitHub 上帳戶的電子郵件地址。
ssh-keygen -t ed25519-sk -C "YOUR_EMAIL"
如果命令失敗并且您收到錯誤invalid format
,或者feature not supported,
您可能正在使用不支持 Ed25519 算法的硬件安全密鑰。請輸入以下命令。
ssh-keygen -t ecdsa-sk -C "your_email@example.com"
出現(xiàn)提示時,請觸摸硬件安全密鑰上的按鈕。
當(dāng)系統(tǒng)提示您“輸入要保存密鑰的文件”時,按 Enter 接受默認文件位置。
> Enter a file in which to save the key (/c/Users/YOU/.ssh/id_ed25519_sk):[Press enter]
?當(dāng)系統(tǒng)提示您輸入密碼時,請按Enter。
> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]
?)
4.將 SSH 公鑰添加到您在 GitHub 上的帳戶。
$ clip < ~/.ssh/id_ed25519.pub
(如果你的 SSH 公鑰文件的名稱與示例代碼不同,請修改文件名以匹配您當(dāng)前的設(shè)置。復(fù)制密鑰時,請勿添加任何換行符或空格。 )
5.在任意頁面的右上角,點擊您的個人資料照片,然后點擊“設(shè)置”。
6.在側(cè)邊欄的“訪問”部分中,單擊SSH 和 GPG 密鑰。?
7.單擊新建 SSH 密鑰或添加 SSH 密鑰。
8.在“標(biāo)題”字段中,為新密鑰添加描述性標(biāo)簽。
9.選擇密鑰類型,身份驗證或簽名。
選擇身份認證?
10.在“密鑰”字段中,粘貼您的公鑰。
11.單擊添加 SSH 密鑰。
4.測試ssh連接
1.打開Git Bash。
2.輸入以下內(nèi)容:
$ ssh -T git@github.com
您可能會看到這樣的警告:
> The authenticity of host 'github.com (IP ADDRESS)' can't be established.
> ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
> Are you sure you want to continue connecting (yes/no)?
?3.驗證您看到的消息中的指紋是否與GitHub 的公鑰指紋匹配。如果是,則輸入yes
:
(公鑰指紋在你將公鑰加入github的時候會顯示,如下圖:
)?文章來源:http://www.zghlxwxcb.cn/news/detail-659161.html
> Hi USERNAME! You've successfully authenticated, but GitHub does not
> provide shell access.
出現(xiàn)此語句,說明成功?,就可以上傳代碼了。文章來源地址http://www.zghlxwxcb.cn/news/detail-659161.html
到了這里,關(guān)于解決git@github.com:Permission denied (publickey).fatal:Could not read from remote repository.的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!