Ubuntu 20.04 ssh-keygen未知选项-G无法生成Diffie-Hellman参数

Ubuntu 20.04 ssh-keygen未知选项-G无法生成Diffie-Hellman参数

我注意到 ubuntu 20.04 的 ssh-keygen 缺少生成 Diffie-Hellman 参数的选项。这通常是 SSH 强化的一部分。有人知道它为什么消失了吗?

答案1

提出的理由是释放ssh-keygen命令的几个选项字母。这已合并到附加-O选项中,并修改了选项的使用-M,从而破坏了与以前版本的兼容性。这是在 2019 年 12 月 30 日在这次提交

上游:删除模数选项的单字母标志

将所有模数生成选项移至 -O 标志下。

释放七个单字母标志

注意:此更改破坏了现有的 ssh-keygen 命令行语法,这些语法与模块相关。幸运的是,很少有人使用这些语法。

反馈并同意 markus@

OpenBSD 提交 ID:d498f3eaf28128484826a4fcb343612764927935

较新的语法在较新的(焦点)中描述ssh-keygen手册页如下模数生成

使用选项生成素数-M generate。可以通过选项指定素数的所需长度-O bits。例如:

# ssh-keygen -M generate -O bits=2048 moduli-2048.candidates

[...]

# ssh-keygen -M screen -f moduli-2048.candidates moduli-2048

答案2

这不是 ubuntu 的问题,它实际上是 OpenSSH 的一部分。diffie-hellman 算法非常弱,因此他们在较新的版本中将其保留下来,以支持更强大的算法。

如果您需要与需要 diffie-hellman 的系统进行通信,您可以执行以下操作:

ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 user@legacyhost

或者你可以用任何传统算法代替 diffie-hellman

相关内容