环境
Ubuntu 22.04
centos 6.5
原因
原因: Ubuntu 22.04 openssh版本高于 centos 6.5 太多
8.8p1 版的 openssh 的 ssh 客户端默认禁用了 ssh-rsa 算法, 但是对方服务器只支持 ssh-rsa, 当你不能自己升级远程服务器的 openssh 版本或修改配置让它使用更安全的算法时, 在本地 ssh 针对这些旧的ssh server重新启用 ssh-rsa 也是一种权宜之法。
解决办法1:使用ssh命令时指定算法
ssh -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedKeyTypes=+ssh-rsa user@host -p xxxx
解决办法2:修改ssh配置文件 ~/.ssh/config,对于无法成功连接的host, 增加配置项:
Host xxxx.com
HostName xxxx.com
User xxx
Port 22
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa
或者对所有host指定:
Host *
ServerAliveInterval 10
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa
常见错误输出以及解决
root@devops:~# ssh 127.0.0.58
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
SHA256:gSh9A4BhdVspH+44IPQGaH9bcsudeoSymOQH+6K7m00.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending DSA key in /root/.ssh/known_hosts:2
remove with:
ssh-keygen -f "/root/.ssh/known_hosts" -R "127.0.0.58"
Host key for test.xxxxx.com has changed and you have requested strict checking.
Host key verification failed.
这个警告表明您连接的远程主机的主机密钥发生了变化,这可能是由于远程主机进行了一些配置更改或是网络攻击的结果。为了确保连接的安全性,SSH 客户端会检查远程主机的主机密钥是否与之前保存的匹配。
警告中提供了一些解决方法:
-
联系系统管理员:如果您知道远程主机的管理员,请联系他们以确认是否有合法的更改发生。
-
删除已知主机密钥:警告中提供了一条命令,可以使用
ssh-keygen
命令来删除已知主机密钥。在这种情况下,您可以执行以下命令来删除与127.0.0.58
关联的密钥:ssh-keygen -f "/root/.ssh/known_hosts" -R "127.0.0.58"
这将从您的
known_hosts
文件中删除与127.0.0.58
关联的密钥。执行此操作后,下次连接时会重新验证主机密钥。 -
解除严格检查:如果您确认远程主机的更改是合法的,您可以修改 SSH 客户端的配置以放宽对主机密钥的检查。但是,这会降低连接的安全性。您可以编辑
~/.ssh/config
文件(如果不存在则创建),并添加以下行来解除对127.0.0.58
的严格检查:Host 127.0.0.58 StrictHostKeyChecking no
请注意,此方法会关闭对所有主机的严格检查,可能会带来安全风险。
选择适合您情况的解决方案,然后尝试重新连接远程主机。
参考链接:https://blog.csdn.net/GratedRawCarrots/article/details/133870059
1 comment on ubuntu ssh远程centos报no matching host key type found. Their offer: ssh-rsa,ssh-dss解决