網站首頁 編程語言 正文
解決GitHub報錯You‘re using an RSA key with SHA-1, which is no longer allowed. Please use a newer client
作者:暗諾星刻 更新時間: 2022-05-11 編程語言解決GitHub報錯You're using an RSA key with SHA-1, which is no longer allowed. Please use a newer client
- 生成密鑰對修正事項 1:使用 Git 生成密鑰對
- 生成密鑰對修正事項 2:使用 TortoiseGit 生成密鑰對
- 將新密鑰導入 GitHub 中
??筆者今天在將本 Git 項目推送到 GitHub 時,GitHub 卻一直報如下錯誤:
筆者報錯時的運行環境:
Git 2.29.2.windows.2
TortoiseGit Release 2.11.0
git.exe push --progress "origin" M/local/dev
ERROR: You're using an RSA key with SHA-1, which is no longer allowed. Please use a newer client or a different key type.
Please see https://github.blog/2021-09-01-improving-git-protocol-security-github/ for more information.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
git did not exit cleanly (exit code 128) (3531 ms @ 202X/XX/XX XX:XX:XX)
??原來是 GitHub 在 2022 年 3 月 15 日之后將不再支持 RSA
算法生成的密鑰,原因是 RSA
不夠安全,而筆者之前一直是使用如下命令生成密鑰對的:
郵箱
"
??可以看出,在上述命令中,實際上使用的是 RSA 算法來生成的密鑰,現在只要更改加密算法即可,可以選擇 ed25519
。
【相關鏈接】
- GitHub 提升安全協議官方聲明:https://github.blog/2021-09-01-improving-git-protocol-security-github/
- SSH 密鑰生成 GitHub 官方方法:https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
生成密鑰對修正事項 1:使用 Git 生成密鑰對
??如果喜歡使用 Git 生成密鑰對,現在需要輸入以下生成密鑰對。然后一直按 ENTER
即可:
加密算法
-C "郵箱
"
??其中,上面的 郵箱
要改為自己需要設置的相應值,且雙引號不能丟。這里,加密算法可以使用 ed25519
。即:
郵箱
"
??可見,上面的命令生成了密鑰對,并將其保存在了文件夾 C:\Users\Windows 用戶名\.ssh
中。打開該文件夾,可以看到兩個文件:id_加密算法名
、id_加密算法名
.pub。第一個文件是私鑰,第二個文件是公鑰。這兩個文件其實都是文本文件,都可以文本方式打開。公鑰需要提供給遠程平臺(這里為 GitHub),因此需要復制其中的內容。這里,需要復制的公鑰的內容為全文。
生成密鑰對修正事項 2:使用 TortoiseGit 生成密鑰對
??如果喜歡使用 TortoiseGit 生成密鑰對,現在需要按如下步驟生成密鑰對。
-
在開始菜單中找到 TortoiseGit 的一個程序 PuTTYgen,并運行。
-
選擇加密算法,然后點擊
Generate
生成密鑰對,這里選擇的是Ed25519
。注意:不要選擇RSA
。 -
在生成過程中需要不斷點擊圖中空白,以防止程序卡死。
-
生成成功之后,顯示出來的就是公鑰了。與前面在 Git 中一樣,需要全文復制這個公鑰,以及保存自己的私鑰。
-
在密鑰列表中添加此密鑰。
-
添加剛剛保存的私鑰。
將新密鑰導入 GitHub 中
??在得到新公鑰之后,還需要將其導入到 GitHub 中,關于這方面的內容,可見筆者的另一篇博客:
??Git、TortoiseGit、GitHub、Gitee、GitLab 安裝與入門使用:
https://blog.csdn.net/wangpaiblog/article/details/121278972
??提醒:私鑰需要妥善保存。如果沒有私鑰,上傳至 GitHub 的公鑰等于作廢。
原文鏈接:https://blog.csdn.net/wangpaiblog/article/details/124416005
相關推薦
- 2022-04-07 怎么減少本地調試tomcat重啟次數你知道嗎_Tomcat
- 2022-09-24 ASP.NET?MVC使用jQuery?Template實現批量更新_實用技巧
- 2022-12-23 kotlin延遲初始化和密封類詳細講解_Android
- 2024-01-28 springboot登錄認證JWT令牌
- 2022-09-25 python學習筆記之循環語句
- 2023-02-09 最新解決'nvidia-smi'?不是內部或外部命令也不是可運行的程序_python
- 2022-06-24 Android實現按鈕點擊事件的三種方法總結_Android
- 2022-08-17 python+pytest接口自動化之session會話保持的實現_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支