kali的ssh报错Unable to negotiate with 192.168.153.135 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss
时间: 2024-08-12 07:08:35 浏览: 100
当你尝试使用SSH(Secure Shell)连接到Kali Linux或其他远程服务器时,遇到 "Unable to negotiate with [IP地址]: no matching host key type found" 的错误,这通常是由于以下原因:
1. **不匹配的SSH密钥类型**:你的客户端和服务器使用的SSH公钥类型不一致。通常,SSH支持RSA和DSA(数字签名算法)两种密钥类型。如果服务器提供了rsa,而你的客户端设置期望的是dsa,就会出现这样的错误。
2. **未更新的公钥缓存**:客户端可能存储了旧的服务器公钥信息,导致无法识别新的密钥。你可以尝试清除SSH的公钥缓存或者手动添加新公钥。
3. **服务器配置错误**:确认服务器的SSH配置文件(如`/etc/ssh/sshd_config`)中指定的KeyPair是否正确。
4. **防火墙或安全组限制**:检查目标服务器的防火墙设置,确保SSH端口22对你的IP开放。
为了解决这个问题,你可以按照以下步骤操作:
- **更新公钥缓存**:运行 `ssh-keygen -R [服务器IP]` 清除缓存,然后重新尝试连接。
- **手动添加公钥**:在客户端执行 `ssh-copy-id [用户名]@[服务器IP]`,将服务器的公钥复制到你的~/.ssh/authorized_keys中。
- **检查并修改服务器配置**:确保SSH服务的KeyPair配置正确无误。
- **检查网络访问**:确保客户端可以从网络访问服务器的22端口。
相关问题:
1. 如何手动添加服务器公钥到客户端?
2. 如何查看或修改SSH配置文件中的KeyPair设置?
3. 为何需要使用`ssh-keygen -R`命令清空公钥缓存?
阅读全文