网上一般搜不到解决方案,千篇一律说的是 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密钥认证失败的问题,特别是在某些特定的Git服务器或操作系统中遇到的难题。通过添加特定配置到~/.ssh/config文件,解决了认证过程中需要输入密码的问题。
5万+

被折叠的 条评论
为什么被折叠?



