FreeBSD 框,每次建立新连接时都会抛出该错误(来自 sshd)。这似乎不会影响系统的功能,但有点烦人。听起来好像它对 primes 文件中的某些内容不满意,但我不知道是什么。有什么方法可以修复它吗?
答案1
我在 SunOS 4.1.4 上编译的 openSSH 4.9p1 中看到了同样的错误消息。原因是 dh.c 中的 parse_prime 函数测试失败:
prime = strsep(&cp, " "); /* prime */
if (cp != NULL || *prime == '\0')
goto fail;
cp != NULL 由于我不知道的原因而失败,因此我大胆地删除了这个测试以摆脱错误。
答案2
看起来 moduli 文件在升级过程中被破坏了。我从另一台机器复制了 /etc/ssh/moduli 文件,问题解决了。