Contents

【git/ssh/rsa】关于GIT配置好RSA key不能用ssh的事项

关于GIT配置好RSA key不能用ssh的事项"

缘起

本来好好的在gitlab网页上配置好ssh的rsa的公钥,本地正常免密码更新上传代码, 突然有一天开始报错说key不对,git死活都不让拉取代码。

经过

翻阅各种没有营养的同质化网页后,在一个同事的帮助下找到一个线索, 其实配置什么的本来都是正确的。 只是openssh升级版本以后造成对rsa密钥版本升级成了v2。 然而之前的是rsa密钥是v1版本,所以突然不认识了。 解决方案:

  1. 配置OpenSSH服务允许使用RSA-SHA1key

    在 ~/.ssh/config 加上如下配置

    Host gitlab.com 
    
    HostkeyAlgorithms +ssh-rsa 
    
    PubkeyAcceptedAlgorithms +ssh-rsa
    

    PS:这种方式不需要更换ssh key

  2. 换用其他算法生成ssh key,就是不用rsa

    ssh-keygen -t ed25519 -C "your@example.email"
    

    之后到Gitlab重新添加公钥即可

  3. 暂时不要使用OpenSSH 8.8及以上版本

结语

这个感觉就是bug,自己踩到了。