将自定义SSH DH组部署到仅限客户端的系统是否有任何安全优势?

有人build议针对Logjam相关的SSH攻击的缓解策略是使用类似于(下面的OpenSSH)来生成自定义SSH Diffie-Hellman组,

ssh-keygen -G moduli-2048.candidates -b 2048 ssh-keygen -T moduli-2048 -f moduli-2048.candidates 

然后用输出文件moduli-2048replace系统范围的模块文件。 ( ssh-keygen -G用于生成候选DH-GEX素数,而ssh-keygen -T用于testing生成的候选人的安全性。)

这对SSH服务器来说显然是合理的,否则这些服务器会使用熟悉的组来预先计算,但是在自定义SSH客户端系统上部署自定义SSH DH组还有什么安全方面的好处吗? (也就是说,连接到SSH服务器的系统,但从来没有充当SSH服务器本身。)

我主要感兴趣的是有关Linux上的OpenSSH的答案,但更通用的答案也将不胜感激。

你可以,如果你真的想要,但我不打扰重新生成OpenSSH的2048位DH参数。 还有更重要的事情需要做,以保护SSH,如禁用弱密码 。

做的是删除现有的小于2048位。

 awk '$5 >= 2000' /etc/ssh/moduli > /etc/ssh/moduli.strong && \ mv /etc/ssh/moduli.strong /etc/ssh/moduli 

如果您没有注意到的话,OpenSSH会附带大量的预生成模块,一直到8192位。 虽然我们当前对1024位素数当然很担心,但在可预见的将来,2048位的素数被认为是安全的。 虽然这最终会改变,但可能在下个星期,但是我们成为领取养老金的可能性会更大。

ssh-keygen手册页中也有这个好奇的地方:

这个文件包含一系列位长的模而且连接的两端共享公共模是很重要的。

这似乎是反对取代现有的模数,虽然它并没有真正提供这样做的实际理由。