云计算百科
云计算领域专业知识百科平台

ssh登录服务器报错“no matching host key type found. Their offer: ssh-rsa,ssh-dss”解决方法

这个错误表明你尝试使用 ssh 连接到远程服务器时,客户端和服务器之间没有匹配的 host key 类型。具体来说,远程服务器提供了 ssh-rsa 和 ssh-dss 类型的 host key,但你的 SSH 客户端配置可能不再支持这些较旧的算法。最近的 OpenSSH 版本默认禁用了不够安全的算法,如 ssh-rsa 和 ssh-dss。

解决方法

  • 临时启用 ssh-rsa: 你可以在 SSH 命令中显式启用 ssh-rsa 来尝试连接:

    ssh -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedKeyTypes=+ssh-rsa user@x.x.x.x -p 2208

  • 永久性解决: 如果你需要频繁连接这个服务器,可以在本地的 SSH 配置文件中添加配置:

    • 编辑或创建 ~/.ssh/config 文件,添加以下内容:Host x.x.x.x
      HostKeyAlgorithms +ssh-rsa
      PubkeyAcceptedKeyTypes +ssh-rsa
      Port 2208

    这样每次连接时,都会自动使用 ssh-rsa 算法。

  • 升级服务器端的 SSH: 你可以建议远程服务器管理员升级 SSH 服务器的配置,支持更现代的算法,如 rsa-sha2-256 或 rsa-sha2-512。

  • 这些方法可以帮助你解决 SSH 密钥算法不匹配的问题。

    更新服务器端配置: 如果你有权限访问服务器并修改其配置,建议更新服务器上的 SSH 配置文件,使其支持更现代的密钥算法,如 ecdsa 或 ed25519,因为 ssh-dss 和 ssh-rsa 已经不再被推荐使用,尤其是在更高版本的 SSH 客户端上。

    在服务器的 /etc/ssh/sshd_config 文件中,可以添加或修改以下内容 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_ecdsa_key HostKey /etc/ssh/ssh_host_ed25519_key

    然后 systemctl restart sshd

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » ssh登录服务器报错“no matching host key type found. Their offer: ssh-rsa,ssh-dss”解决方法
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!