在OpenSSH上更改Kex算法

时间:2018-02-06 12:39:08

标签: openssh diffie-hellman sshd

我想在我的OpenSSH上禁用'diffie-hellman-group1-sha1'和'diffie-hellman-group-exchange-sha1'密钥交换算法。 我编辑了/ etc / ssh / sshd_config并添加了这一行: KexAlgorithms ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha256

在此之后我通过命令重新启动SSH - > 'service sshd restart'

现在,当我运行命令'ssh -Q kex'时,输出仍然是: 的Diffie-Hellman-组1-SHA1 的Diffie-Hellman-group14-SHA1 的Diffie-Hellman-group14-SHA256 的Diffie-Hellman-组16-SHA512 的Diffie-Hellman-group18-SHA512 的Diffie-Hellman组交换-SHA1 的Diffie-Hellman组交换-SHA256 ECDH-SHA2-nistp256 ECDH-SHA2-nistp384 ECDH-SHA2-nistp521 curve25519-SHA256 curve25519-sha256@libssh.org GSS-GEX-sha1- GSS-1组,sha1- GSS-group14-SHA1 -

为什么没有做任何改变?我做错了吗?

2 个答案:

答案 0 :(得分:0)

我相信“ ssh -Q kex”显示了所有可用的密钥交换算法:不一定只是配置为在任何给定情况下使用的算法。考虑一下,在ssh_config中,可以指定一组用于特定主机的特定密钥交换算法。 “ ssh -Q kex”将如何知道感兴趣的主机?另外,我已经配置了/etc/ssh/ssh_config、~/.ssh/config或什至/ etc / ssh / sshd_config,以指定启用或禁用某些密钥交换算法。以我的经验,“ ssh -Q kex”不能反映这些更改。

我很幸运,实际上是尝试使用ssh -vv或ssh -vvv登录到特定的ssh主机/服务器,然后查看我的客户端和服务器各自提供的用于密钥交换的内容。在配置了适当的配置文件之后,或者在ssh命令行中添加了“ -o kex = specific_key_exchange_algorithm”之后,我确实看到了反映在报告的“调试”消息中的更改。 YMMV。我希望这对某人有帮助,即使相对于原始发布者的问题而言答案还很晚。

答案 1 :(得分:0)

ssh显示计算机上SSH客户端使用的密钥,sshd显示计算机上的SSH服务器使用的密钥。

您已经修改了/etc/ssh/sshd_config利用的文件sshd

尝试使用sshd -T