Unable to negotiate with 10.190.5.53 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss。 是什么意思
时间: 2024-08-16 11:03:52 浏览: 166
当你尝试通过SSH(Secure Shell)连接到IP地址为10.190.5.53的服务器时,收到了如下的错误信息:“Unable to negotiate with 10.190.5.53 port 22: no matching host key type found”。这表明在通信过程中,你的终端试图与服务器建立安全连接,但是发现服务器提供的公钥类型(ssh-rsa 和 ssh-dss)在你的信任列表中没有匹配的私钥可以验证。
这里的"host key"是指用于身份验证的加密密钥对,通常由服务器生成并公开其公钥,客户端需要验证这个公钥以确保连接的是正确的服务器。由于找不到匹配的私钥类型,你的终端无法确认服务器的身份,因此拒绝了连接请求。
相关问题
Unable to negotiate with 10.128.0.0 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss
"Unable to negotiate with 10.128.0.0 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss" 这个错误表示终端无法与目标主机建立SSH连接,因为没有找到匹配的主机密钥类型。在新版的OpenSSH中,默认不再支持使用SHA1这种较弱的散列算法。要解决这个问题,我们需要手动允许对于SHA1的支持。
为了解决这个问题,您可以尝试以下步骤:
1. 在终端中使用以下命令连接到目标主机:
ssh -oHostKeyAlgorithms=+ssh-rsa -oKexAlgorithms=+diffie-hellman-group1-sha1 user@10.128.0.0
这将允许使用ssh-rsa主机密钥类型和diffie-hellman-group1-sha1密钥交换方法进行连接。
2. 如果第一步无效,您可以尝试在SSH配置文件中进行更改。打开SSH配置文件(通常位于/etc/ssh/或~/.ssh/目录下的ssh_config文件),找到HostKeyAlgorithms和KexAlgorithms这两个选项,将它们的值分别改为:
HostKeyAlgorithms +ssh-rsa
KexAlgorithms +diffie-hellman-group1-sha1
3. 保存并关闭配置文件,然后尝试重新连接到目标主机。
通过以上步骤,您应该能够解决"Unable to negotiate with 10.128.0.0 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss"的问题。记得在连接之前备份配置文件,以便在需要时进行恢复。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [Unable to negotiate with 172.16.28.137 port 22: no matching host key type found. Their offer: ssh-rs](https://blog.csdn.net/wuliuqi_567/article/details/128103215)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [Unable to negotiate with 192.168.2.53 port 22: no matching host key type found. Their offer: ssh-rsa](https://blog.csdn.net/weixin_43025071/article/details/128241732)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
Unable to negotiate with 10.255.252.13 port 22: no matching host key type found. Their offer: ssh-dss,ssh-rsa
这个错误信息通常发生在尝试通过SSH(Secure Shell)协议连接到一个远程服务器时。具体来说,当你使用SSH客户端尝试连接到一个SSH服务器时,客户端和服务器需要就加密算法(包括主机密钥类型)达成一致。错误信息表明,客户端不支持服务器提供的任何主机密钥类型。
错误信息中的“ssh-dss”和“ssh-rsa”指的是两种不同的主机密钥类型。DSS(Digital Signature Algorithm)和RSA(Rivest–Shamir–Adleman)是两种不同的公钥加密算法。然而,随着时间的发展,这两种算法因为各种安全原因被更先进的算法所取代。
例如,Ed25519是一种被认为比RSA和DSS更加安全和高效的公钥算法,因此它现在被推荐使用。在OpenSSH的更新版本中,默认不再启用DSS和RSA密钥,以增强安全性。
为了解决这个问题,你有几个选项:
1. 更新你的SSH客户端,使其支持服务器上可用的密钥类型。
2. 如果你控制远程服务器,可以更新服务器配置,允许使用客户端支持的密钥类型,比如Ed25519。
3. 如果安全策略允许,你也可以在客户端配置文件中添加或更改配置,以接受服务器的密钥类型。
阅读全文