简介
忽然发现用公钥无法把代码推到gitee,原来是我使用的OpenSSH太新,已经废弃掉了ssh-rsa签名算法,而gitee服务器的OpenSSH使用的签名算法还是ssh-rsa,签名算法不兼容,于是无法认证,无法网上推代码。
如果想看解决办法,可以直接跳到末尾“解决办法”
起因
今天像往常一样把代码推到gitee上,发现推不上去,公钥认证错误,本来因为看论文而晕晕乎乎的脑袋瞬间清醒:我帐号不是被谁盯上了吧。
❯ git push origin master
git@gitee.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
我密码都是最高级别的,从不用常用密码,公钥也设置了密码,如果有人突破了我的密码,那他照样能突破我其他密码,想到这不禁后背冒出一丝凉气。
不过冷静下来之后仔细想想,这个可能性比较低。首先,我就一学生,帐号没有多大价值;其次,我也没和人结下什么仇哇???;再次,我平时都非常注意帐号安全。
肯定不是帐号被盗了。
登上gitee帐号到个人信息页,查看ssh公钥,我发现ssh公钥的sha256sum和本地的公钥一致。
奇怪,gitee帐号里面的ssh公钥没有变,怎么会登不上呢?
然后就开始了一通研究。
研究
再次验证一下是不是能登录:
❯ ssh git@gitee.com
git@gitee.com: Permission denied