当前位置:   article > 正文

成功解决Unable to negotiate with 182.92.119.208 port 22: no matching host key type found

unable to negotiate with

操作: 连接ssh服务器的时候报错

在命令行执行ssh root@182.92.119.208的时候提示Unable to negotiate with 182.92.119.208 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss

错误原因和解决办法

这个错误消息意味着当你尝试与目标主机建立SSH连接时,你的SSH客户端不支持服务器所提供的主机密钥类型。

要解决这个问题,你可以指定SSH客户端应该尝试使用的主机密钥类型。从错误消息中可以看出,服务器提供了ssh-rsa和ssh-dss。

尝试以下命令,明确指定ssh-rsa为密钥类型
ssh -oHostKeyAlgorithms=+ssh-rsa root@182.92.119.208
注意:加号+意味着你正在添加ssh-rsa到默认的主机密钥算法列表中,而不是替换它。

这应该允许你与服务器建立连接。然而,长远来看,如果这是你控制的服务器,你可能需要考虑更新服务器的SSH配置以支持更现代的、更安全的密钥类型。

参数详细解释

当然可以。以下是对命令 ssh -oHostKeyAlgorithms=+ssh-rsa root@182.92.119.218 中每个参数的详细解释:

  1. ssh:

    • 描述: 这是 Secure Shell (SSH) 的命令行工具,用于安全地访问远程服务器。
    • 用途: 它为用户提供了一个加密的会话,用于远程命令执行和文件传输。
  2. -o:

    • 描述: 这是一个命令行选项,用于传递配置参数给 SSH 命令。
    • 用途: 当你想为单次 SSH 连接指定某个配置,而不是在全局 SSH 配置文件中设置时,可以使用 -o 选项。
  3. HostKeyAlgorithms=+ssh-rsa:

    • 描述: 这是 -o 选项的参数值,用于指定 SSH 客户端应接受的主机密钥算法。
    • 用途:
      • HostKeyAlgorithms 定义了一个算法列表,SSH 客户端会使用这个列表来验证远程服务器的身份。
      • +ssh-rsa 表示将 ssh-rsa 算法添加到默认算法列表的末尾。这是必要的,因为有些新版本的 SSH 客户端可能默认不再接受 ssh-rsa,而远程服务器可能仍然使用这种算法。
  4. root:

    • 描述: 这是你希望在远程服务器上登录的用户名。
    • 用途: 当 SSH 连接到远程服务器时,它需要一个用户名来验证身份。root 是 Linux 系统中的超级用户。
  5. @:

    • 描述: 该符号用于分隔用户名和服务器地址。
    • 用途: 它告诉 SSH 客户端:“使用前面的用户名登录到后面的地址”。
  6. 182.92.119.208:

    • 描述: 这是远程服务器的 IP 地址。
    • 用途: SSH 客户端需要知道要连接到哪个服务器,所以你需要提供服务器的 IP 地址或主机名。

总结:该命令用于使用 SSH 客户端连接到 IP 地址为 182.92.119.208 的远程服务器,并使用用户名 root 进行登录。由于可能存在主机密钥算法匹配的问题,所以通过 -oHostKeyAlgorithms=+ssh-rsa 参数告诉 SSH 客户端接受 ssh-rsa 算法来解决这个问题。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号