ssh链接认证时,双方会进行协商,两者会按照算法顺序逐个匹配,双方会使用第一个匹配成功的算法。
openssh 7.1p2版本加强了安全功能,将 moduli size 的最小值从1024改成了2048,如果匹配的算法新旧版本支持长度的不一致,会出现认证失败问题。
解决办法:
临时使用
可以直接指定算法:ssh -o KeyAlgrithms=diffie-hellman-group-exchange-sha1 username@ip
长期使用
升级版本:将低版本也升级到7.1p2或以上版本。
修改配置:ssh_config文件中,将diffie-hellman-group-exchange-sha1算法放在第一个,这样就会首先匹配到这个算法。