gitlab 頁面添加 sshkey后,git clone git@xxx.com:xx.git 任然提示需要輸入密碼的問題解決。解決debug1: send_pubkey_test: no mutual signature algorithm


網上一般搜不到解決方案,千篇一律說的是 ssh-keygen -t rsa -C "xx@xx.com" ,然后把id_rsa.pub的內容復制,在網頁上的setting里面粘貼添加到ssh keys里面,

但對有的git服務器或者你的電腦操作系統,有時候光這么做卻任然不行,提示需要輸入密碼git@xx.com's password:

關鍵是git這個賬號的密碼並不是用戶個人的賬號,所以無法輸入密碼了。

 

此時需要使用命令排除問題,命令行輸入 ssh -Tv git@xx.com,  一定要帶v才能顯示debug信息,

你會看到這條信息 debug1: send_pubkey_test: no mutual signature algorithm

 

 

 

 

就是修改或新建"~/.ssh/config"文件,添加如下配置,實測有用:

gitee.com 只是舉個例子,實際是你們公司gitlab的域名,就是取git clone git@xx.com 中的xx.com

這兩行寫在config文件中

Host gitee.com  

PubkeyAcceptedKeyTypes=+ssh-rsa

 

例如我的電腦.ssh文件夾截圖,C:\Users\ydf19\.ssh文件夾中自己新建config文件,寫上上面內容就可以啦

 

 

 

 

真的太坑了,如果不會排查問題的人會一籌莫展,因為網上99.99%的教程是只教你這么做:

ssh-keygen -t rsa -C "xx@xx.com",然后把id_rsa.pub貼到網頁上,這樣做后有時候任然不行,你會一直懷疑自己復制錯了,導致一直用錯誤的方式排查問題。
例如我把id_rsa.pub添加到github可以,但是公司的gitlab一直不行,說民光這么做不一定夠,要增加 config文件
 希望對有的人有幫助。
 
 
 
 
我電腦是新換了個win11,網上教程一般只做這兩步,ssh-keygen -t rsa -C "yangdf@akulaku.com" ,然后把id_rsa.pub貼到ssh keys頁面里面。對github兩步就可以了,但是我們的gitlab可能需要做第三步增加config文件。第三步增加config文件是對有的電腦系統而言,我的上個電腦不需要這么做。昨天換了個新win11系統電腦。
 
 

參考文章: 
 https://blog.csdn.net/lindorx/article/details/111885764
https://www.cnblogs.com/ice-image/p/15420411.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM