ssh 连不上服务器 key type ssh-rsa not in PubkeyAcceptedAlgorithms 的解决办法

2022-08-09 19:40:30 浏览数 (1)

今天在帮客户部署新服务器,想着用新不用旧,就用了 CentOS Stream 9 系统。

为了安全,不用密码登录,就在腾讯云上用的自动生成的 SSH 密钥。

进入系统第一件事当然是更新一波预装软件,不更没事,一更出了大问题。

我的 ssh 连不上服务器了!

重启服务器,重启 finalshell,无果。

查了日志:

代码语言:javascript复制
cat /var/log/secure

发现有这么个错误:

代码语言:javascript复制
userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]

百度不得其解,那就用了谷歌。

得知应该是 openssh 新版本导致的,增加了外国网友说的几个配置项重启了 sshd 后也不好使。

于是只能使出究极解决办法——重新生成能用的密钥

代码语言:javascript复制
ssh-keygen -t ecdsa

生成完后导入了腾讯云的 SSH 密钥(文件在:~/.ssh)

这时候问题又来了,finalshell 提示:

代码语言:javascript复制
暂不支持此私钥格式,请参考以下方法解决:
1.转换成PEM格式私钥
ssh-keygen -p -m PEM -f 私钥路径
2.生成PEM格式的私钥
生成时增加 -m PEM参数
ssh-keygen -m PEM -t rsa -C "注释"

于是我用这个把私钥转换了一下(注意会覆盖原文件,如有需要先备份)

代码语言:javascript复制
ssh-keygen -p -m PEM -f id_ecdsa

用 finalshell 导入转换后的私钥,成功连接到了服务器!

0 人点赞