网上一般搜不到解决方案,千篇一律说的是 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