Unable to negotiate with port 22: no matching host key type found. Their offer: ssh-r解决办法
1. 移除不兼容的算法
修改 /etc/ssh/ssh_config
文件,删除 ssh-dss
并仅保留 ssh-rsa
:
ini
Host *
HostKeyAlgorithms ssh-rsa
KexAlgorithms diffie-hellman-group-exchange-sha256
MACs hmac-sha1
PubkeyAcceptedKeyTypes ssh-rsa
Ciphers aes128-ctr,aes192-ctr,aes256-ctr
- 关键调整:
HostKeyAlgorithms
仅保留ssh-rsa
,避免触发安全限制。
2. 验证配置文件语法
运行以下命令检查配置合法性:
bash
ssh -T -F /etc/ssh/ssh_config
若输出无错误,表示语法已修复。
重启sshd服务 systemctl restart sshd
再次执行ssh root@ip就可以连接了