Unable to negotiate with 192.168.2.10 port 22: no matching host key type found. Their offer: ssh-rsa需要电脑如何设置
时间: 2024-11-08 12:11:53 浏览: 41
当你遇到 "Unable to negotiate with 192.168.2.10 port 22: no matching host key type found" 这样的错误信息,通常意味着你在尝试通过SSH连接到一台远程计算机(IP地址为192.168.2.10),但是由于服务器提供的公钥类型与你的客户端配置不符。
解决这个问题需要按照以下步骤操作:
1. **确认公钥类型**:
- 确认目标服务器上使用的密钥类型,常见的有RSA、DSA或ECDSA。从错误消息来看,似乎是ssh-rsa类型的公钥。
2. **更新客户端信任的公钥类型**:
- 如果你的SSH客户端支持多种密钥类型,检查本地`~/.ssh/known_hosts`文件,看是否有该服务器的记录。如果有,删除旧的记录,并确保更新为正确的公钥类型。
3. **生成或更新本地密钥对**:
- 打开终端,运行 `ssh-keygen -t rsa` 或指定其他类型(如`ecdsa`)命令生成一个新的私钥和公钥对。
- 将新生成的公钥(默认在`~/.ssh/id_rsa.pub`)添加到远程服务器的`.ssh/authorized_keys`文件里。
4. **验证公钥交换**:
- 使用 `ssh-copy-id user@192.168.2.10` (替换user为用户名)命令将本地公钥复制到远程服务器。如果提示输入密码,说明公钥已成功添加。
5. **测试连接**:
- 重启SSH连接并再次尝试 (`ssh user@192.168.2.10`),此时应该能成功匹配并协商密钥了。
阅读全文