赞
踩
- root:~ >ssh root@192.168.33.133
- Unable to negotiate with 192.168.33.133 port 22: no matching host key type found. Their offer: ssh-rsa
这个问题经常出现在ssh 服务端版本和客户端版本不匹配。
要解决问题,需要在命令加上一个选项: -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedAlgorithms=+ssh-rsa
比如:
ssh -i key.pem shell@3.252.167.165 -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedAlgorithms=+ssh-rsa
也可以加参数加到 ssh config file, /etc/ssh/ssh_config
:
- HostKeyAlgorithms = +ssh-rsa
- PubkeyAcceptedAlgorithms = +ssh-rsa
另一个选择是在创建密钥对时使用不同的算法。
要查看 Linux 系统上 SSH 命令支持的算法,可以使用 ssh -Q
命令。具体来说,可以使用以下命令来查看支持的加密算法、散列算法和公钥算法:
- ssh -Q cipher # 查看支持的加密算法
- ssh -Q mac # 查看支持的散列算法
- ssh -Q key # 查看支持的公钥算法
.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。