Unable to negotiate with 10.98.148.240 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss
时间: 2023-10-19 08:05:33 浏览: 208
这个错误提示表明 SSH 客户端无法与主机进行协商,因为没有找到匹配的主机密钥类型。这通常是由于 SSH 服务器使用较旧的密钥算法,而现代的 SSH 客户端默认不再支持这些算法所致。
为了解决这个问题,可以尝试以下方法:
1. 指定使用较旧的主机密钥算法:在 SSH 客户端连接命令中添加 `-oHostKeyAlgorithms=+ssh-rsa` 参数,指定使用 `ssh-rsa` 算法连接到主机。例如:
```
ssh -oHostKeyAlgorithms=+ssh-rsa user@10.98.148.240
```
2. 更新 SSH 客户端配置:编辑 SSH 客户端的配置文件(`~/.ssh/config`),添加以下内容:
```
Host 10.98.148.240
HostKeyAlgorithms +ssh-rsa
```
3. 更新 SSH 服务器配置:如果你有权限,可以尝试更新 SSH 服务器的配置,以使用现代的主机密钥算法。具体的配置文件位置和可用算法取决于你使用的 SSH 服务器软件。
请注意,在使用较旧的主机密钥算法时,要注意安全性,并确保你对主机的身份进行了正确验证。
相关问题
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 172.16.3.31 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss
这个错误通常是由于SSH客户端和服务器之间的密钥类型不匹配导致的。解决此问题的方法是在SSH客户端上指定正确的密钥类型。您可以通过在SSH命令中添加“-oHostKeyAlgorithms”选项来指定密钥类型。例如,如果您想使用“ssh-ed25519”密钥类型连接到远程服务器,则可以使用以下命令:
```
ssh -oHostKeyAlgorithms=ssh-ed25519 user@hostname
```
如果您不确定要使用哪种密钥类型,请咨询您的系统管理员或远程服务器的所有者。
阅读全文