解决该漏洞的关键是禁用sshd中使用的diffi-hellman加密算法,根据网上现有的修复方法,直接在sshd_config中删除KexAlgorithms下的diffi-heelman相关算法
vim /etc/ssh/sshd_config
删除配置文件中KexAlgorithms下的diffi-hellman算法
KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521
重启sshd
systemctl restart sshd
用ssh指定算法进行连接,发现已删除算法仍可以支持连接:
ssh -v -oKexAlgorithms=diffie-hellman-group14-sha1 root@19.119.225.133
在反复查看ssh目录下的配置文件时发现ssh_config配置文件中include了一个 /etc/crypto-policies/back-ends/openssh.config文件,顺藤摸瓜到 /etc/crypto-policies/back-ends路径下之后,发现还有一个opensshserver.config,在这个文件中果然发现还有对KexAlgorithms所有算法的定义,删除其中diffi-hellman相关算法后重启sshd,用ssh指定算法再次进行连接,此时连接报错,diffi-hellman相关算法被禁用。