使用 Ubuntu 20.04 的时候,通过这种方式设置 SSH 密钥登录:设置 SSH 通过密钥登录,但在换了 Ubuntu 22.04 后,使用私钥登录时提示 server refused our key,无法通过密钥登录。在确认了 SSH 服务是开启中的之后,仍然出现这样的问题。
经查发现,openssh 8.8
开始默认禁用了SHA-1
哈希算法的RSA
签名,看了一下 ubuntu server 22.04 的默认 openssh 版本:
➜ ~ ssh -V
OpenSSH_8.9p1 Ubuntu-3, OpenSSL 3.0.2 15 Mar 2022
解决方法
方法一: 在配置中加上 rsa
vim /etc/ssh/sshd_config
# 添加配置
PubkeyAcceptedKeyTypes +ssh-rsa
# 重启SSH
systemctl restart sshd
方法二:(推荐)
# 在生成密钥对时使用更加安全的算法
ssh-keygen -t ed25519