出现这种问题一般是系统重装(升级)之后,系统没有重新验证生成key导致的。
通过ssh-keygen命令重新生成ssh主机秘钥,可以不用重启sshd服务
代码: 全选
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
第二种方法-删除/ssh下面所有key文件。重启sshd服务使其重新生成key
代码: 全选
rm -rf /etc/ssh/ssh*key
systemctl restart sshd
第三种方法是在~/.ssh/config 下添加下面配置
代码: 全选
PubkeyAcceptedKeyTypes +ssh-rsa
HostKeyAlgorithms +ssh-rsa
第四种方法是添加下面配置到/etc/ssh/sshd_config中:
代码: 全选
Include /etc/ssh/sshd_config.d/*.conf
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa
前面两种方法一般解决低版本访问高版本导致的问题,而后面两种方法解决默认SSH不支持RSA验证导致的问题。
引用自 https://blog.51cto.com/liujian/5300092