当你在使用 SSH 进行远程登录时遇到 no hostkey alg 错误,这通常是由于 SSH 客户端和服务器之间的版本不兼容导致的。以下是解决该问题的几种方法。
示例
ssh user@hostname
no hostkey alg
方法一:修改 SSH 配置文件
- 登录到高版本的服务器。
- 编辑
sshd_config文件:
vim /etc/ssh/sshd_config
- 在文件末尾添加以下内容:
HostKeyAlgorithms +ssh-rsa
- 保存并退出编辑器,然后重启 SSH 服务:
service sshd restart
- 重新尝试连接。
方法二:重新生成 SSH 主机密钥
- 删除现有的 SSH 密钥:
rm -rf /etc/ssh/ssh*key
- 重新生成密钥并重启 SSH 服务:
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
systemctl restart sshd
方法三:升级 SSH 版本
- 检查当前安装的 OpenSSH 版本:
yum list | grep openssh
- 如果版本较低,使用以下命令升级:
yum -y install openssh
通过以上方法,你可以有效解决 no hostkey alg 错误,确保 SSH 连接的顺利进行。
0