升级到 35 后 Fedora SSHd 无法启动

升级到 35 后 Fedora SSHd 无法启动

今天我将安装 Fedora 25 的 VM 服务器升级到 Fedora 35。我执行了分步升级,每次跳过 1 个版本 25-->27-->...-->33-->35。在上次升级之前我没有遇到任何问题,但在重启时我丢失了 sshd 服务。我使用 virt-viewer 进入控制台并分析了问题:在服务启动时,我收到错误:code=exited, status=255/EXCEPTION。使用 进行测试sshd -t我收到以下消息:

/etc/crypto_polices/back_end/opensshserver.config: line6: Bad configuration option:  PubkeyAcceptedAlgorithms
/etc/crypto_polices/back_end/opensshserver.config: terminating, 1 bad configuration options

我不是专家,我在网上找不到这个问题的答案。在这种情况下,如果我尝试 ssh 进入我的服务器,我会得到一个被拒绝的连接。

因此我尝试删除配置文件,重新启动服务,并且一切都正常运行。

在这一点上,我担心安全问题,我的意思是,我知道如果实施类似加密策略的东西,应该有充分的理由,不应该被禁用。

我有两个问题想结束这篇文章:

  1. 如果 ssh 不使用加密策略指定的策略,它会执行什么策略?“默认”的策略在哪里指定?

  2. 我希望以更合理的方式来解决问题,而不是删除文件然后祈祷一切顺利,您有什么建议吗?或者有什么建议可以更好地理解问题并自己找到解决方案?

答案1

这是一个真正充满冒险的更新序列,而且我对于它几乎完美地运行感到很自豪。

我认为这里发生的情况是安全策略已更新到最新版本,但出于某种原因,openssh 没有更新。OpenSSH 上游在以下版本中对此配置选项进行了不兼容的更改:OpenSSH 8.52021 年底。 (旧名称仍然有效,但新名称无效。)

您从命令中得到了什么rpm -q openssh-server crypto-policies?截至目前,我得到了:

openssh-server-8.7p1-3.fc35.x86_64
crypto-policies-20210819-1.gitd0fdcfb.fc35.noarch

但重要的是:我比较确定你的crypto-policies包裹是至少版本20210615,我猜是openssh-server因为某种原因 8.5p1

假设我的猜测是正确的,这就是需要解决的根本问题。但是,我认为另一种解决方法是编辑配置文件以替换PubkeyAcceptedAlgorithms旧名称PubkeyAcceptedKeyTypes— 这种方法至少在一段时间内应该仍然有效,因为 OpenSSH 也保留了旧名称以实现兼容性。

相关内容