我想在我的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-sha256
之后,我通过命令-> 'service sshd restart‘重新启动了SSH。
现在,当我运行命令'ssh -Q kex‘时,输出仍然是:diffie-hellman-group1-sha1diffie-hellman-group14-sha1diffie-hellman-group14-sha256diffie-hellman-group16-sha512diffie-hellman-group18-sha512diffie-hellman-group-exchange-sha1diffie-hellman-group-exchange-sha256 ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521 curve25519-sha256@libssh.org gss-gex-sha1- gss-group1-shaa1-sha1-sha2
为什么不做任何更改?我做错什么了吗?
发布于 2019-12-20 13:37:14
我相信"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主机/服务器,然后检查我的客户机和服务器在密钥交换中各自提供了什么,那么我的运气会更好一些。在配置适当的配置文件或将"-o kex=specific_key_exchange_algorithm“添加到ssh命令行之后,我确实看到报告的"debug”消息中反映的更改。YMMV.我希望这对某些人有帮助,即使对于原始发帖者的问题,答案是相当晚的。
发布于 2020-08-25 17:38:10
ssh
显示机器上的SSH客户端使用的密钥,sshd
显示机器上的SSH Server使用的密钥。
您已经修改了sshd
使用的文件/etc/ssh/sshd_config
。
尝试使用sshd -T
。
https://stackoverflow.com/questions/48643291
复制相似问题