提示Unable to negotiate with 192.168.1.118 port 22: no matching host key type found. Their offer: ssh-rsa
时间: 2024-12-11 21:15:53 浏览: 274
这个错误提示通常出现在使用SSH连接远程服务器时,客户端和服务器之间无法协商出匹配的密钥类型。具体来说,服务器只提供了`ssh-rsa`密钥类型,而客户端可能不再支持这种旧类型的密钥。
要解决这个问题,你可以尝试以下几种方法:
1. **更新SSH客户端**:
确保你使用的是最新版本的SSH客户端,因为新版本通常支持更多的密钥类型。
2. **手动指定密钥类型**:
你可以在SSH命令中手动指定使用`rsa`密钥类型,并启用旧的SHA-1签名算法。命令如下:
```sh
ssh -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedKeyTypes=+ssh-rsa [email protected]
```
3. **修改SSH配置文件**:
你可以修改SSH的配置文件`~/.ssh/config`,添加以下内容:
```
Host 192.168.1.118
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa
```
这样,每次连接该主机时,SSH客户端都会使用指定的密钥类型。
4. **服务器端更新密钥**:
最好的解决方案是更新服务器上的SSH密钥,生成新的、更安全的密钥类型(如`ed25519`或`rsa-sha2-256`)。然后,将新的公钥添加到服务器的`~/.ssh/authorized_keys`文件中。
通过以上方法,你应该能够解决这个SSH连接问题。
阅读全文
相关推荐

















