好久没动过VPS,最近更新到ubuntu22.04。系统重建后发现key不能登陆了,赶紧用密码登陆上去debug。开始我还以为是我自己的key问题。因为前段时间发一个私钥给别人登录调试,结果对方也说登陆不了,弄了半天结果是key的文件权限问题。这次我自己也换了系统,毕竟私钥是好久前生成的,可能有些权限问题?虽然我不太相信权限会出问题,但还是重新生成了一对key,结果配置后还是登陆不上。

然后我怀疑是VPS的系统问题,重建了一次也不行。终于想起上网搜索下,然后发现是ubuntu22太坑了。这种登陆问题应该兼容性优先,登录后再提示,要不然系统直接无法登录,会造成很多不必要的麻烦。

encryption – Ubuntu 22.04 SSH the RSA key isn’t working since upgrading from 20.04 – Ask Ubuntu

简单说来,由于各种安全漏洞,很多新的操作系统和SSH客户端都不再支持 RSA SHA-1哈希算法。

Ubuntu 22.04的ssh客户端是openssh 8.8, 也不支持老的RSA的公钥/私钥对。

现在用更现代、更安全的密钥类型,比如ed25519:

ssh-keygen -t ed25519

或者也可以使用SHA2哈希创建新的RSA密钥:

ssh-keygen -t rsa-sha2-512 -b 4096

如果非要用原来的key,也可以修改ssh配置文件,添加rsa支持就可以:

HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa

标签: , ,

留下回复(本站有评论邮件通知功能)