ssh远程服务器出现"Algorithm negotiation fail"解决
摘要:最近ssh远程服务器时,出现"Algorithm negotiation fail"问题,这里记录一下解决办法。
原因
OpenSSH 7.0以后的版本默认不再支持ssh-rsa(rsa/SHA1)和ssh-dss(DSA/SHA1)
签名算法,如果指定使用ssh-rsa(rsa/SHA1)和ssh-dss (DSA/SHA1)
签名算法将会登录失败。由于FinalShell、Nuoshell、Securecrt等部分SSH客户端软件默认仅支持使用ssh-rsa(rsa/SHA1)或ssh-dss (DSA/SHA1)算法,不能兼容使用 rsa-sha2-256(rsa/SHA256) 或者 rsa-sha2-512(rsa/SHA512) ,所以无法登录。
解决办法
第一种解决办法
更新你使用的ssh客户端工具,更新成最新版本。
第二种解决办法
首先登录到linux服务器上,然后运行下面命令
cp -a /etc/ssh/sshd_config /etc/ssh/sshd_config_bak
echo 'PubkeyAcceptedAlgorithms=+ssh-rsa' >> /etc/ssh/sshd_config
echo 'HostKeyAlgorithms=+ssh-rsa' >> /etc/ssh/sshd_config
service sshd restart
然后试着用ssh客户端工具看下能不能远程上。如果远程不上,换下面的命令试试。
cp -a /etc/ssh/sshd_config_bak /etc/ssh/sshd_config
echo 'PubkeyAcceptedKeyTypes=+ssh-dss' >> /etc/ssh/sshd_config
echo 'HostKeyAlgorithms=+ssh-dss' >> /etc/ssh/sshd_config
service sshd restart
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。