最近在巨硬的推薦下, 手癢從WIN10升級到了WIN11。WIN11沒給我帶來太多的驚艷,反而,從gitee pull拉取時失敗了,提示 :
簡短截說,原因是隨着WIN11的升級,SSH也隨之升級了,然后原來標准rsa加密算法(SHA-1)的key不能得到驗證了。
解決的方法有三個個:解決方案:
1、修改git服務器配置,添加 PubkeyAcceptedKeyTypes +ssh-rsa 配置,接受SHA-1算法
2、更換秘鑰生成算法,使用 ed25519 算法生成
ssh-keygen -t ed25519 -C "your email",重新提交基於ed25519生產的pubKey
3、降低 OpenSSH版本
驗證這個問題可以用下面這個指令:
ssh -Tvvv git@gitee.com
在回顯的一堆信息里面有以下內容:
紅框的意思是沒有互認的簽名算法。
在仔細看這句話的上下,系統找到了id_rsa(SHA256), 但給出沒有互認簽名的結果,而沒找到id_dsa, id_eddsa, ....等其他的驗證key, 最后給出
debug1: No more authentication methods to try.
git@gitee.com: Permission denied (publickey).
的結論。
於是,下來問題就簡單了,在它支持的算法里找一個生成就可以了。
我用了ed25519,成功了。