CentOS/AlmaLinux 9 中 SSH 服务启动失败:OpenSSL 版本不匹配解决

CentOS/AlmaLinux 9 中 SSH 服务启动失败:OpenSSL 版本不匹配的快速修复指南

事件背景

在 CentOS 9 Stream 或 AlmaLinux 9 系统中,如果通过 dnf update 升级过 OpenSSL,再重启 SSH 服务,可能出现如下报错:

复制代码
sshd[xxxx]: OpenSSL version mismatch.
       Built against 30000010, you have 30200020
systemd[1]: sshd.service: Main process exited, status=255/EXCEPTION

结果 SSH 守护进程反复重启,外部无法连接,服务器处于"失联边缘"。

原理简述

  • OpenSSH 在编译时会把当前系统的 OpenSSL 版本链接进去,生成二进制 /usr/sbin/sshd
  • 当后续 OpenSSL 被升级到 ABI 不兼容的新版本(例如 3.0.0 → 3.2.0)后,旧 sshd 无法加载新库,直接抛异常退出
  • 因此必须"让 sshd 与新库重新匹配",而不是回滚系统 OpenSSL(后者会影响更多软件)

在线修复步骤(推荐)

以下命令全部在本地控制台或已建立的终端里执行;操作前建议先备份配置文件:

bash 复制代码
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
  1. 刷新缓存并升级 OpenSSH 全家桶
    CentOS 9 Stream

    bash 复制代码
    dnf clean all
    dnf update openssh openssh-server openssh-clients

    AlmaLinux 9

    bash 复制代码
    dnf clean all
    dnf update openssh*
  2. 验证版本

    升级后 openssh-server 应为 8.7p1-43.el9 或更高,且依赖 OpenSSL 3.2:

    bash 复制代码
    rpm -q openssh-server
    ldd /usr/sbin/sshd | grep libssl
  3. 重启服务并检查状态

    bash 复制代码
    systemctl restart sshd
    systemctl status sshd

    看到 "active (running)" 且无 "version mismatch" 即修复完成

  4. 建议再执行一次配置语法检测

    bash 复制代码
    sshd -t

    返回空表示配置无误

离线/内网机方案

如果服务器无法访问外网,可在同版本能联网的机器上提前下载 RPM:

bash 复制代码
# 下载包含依赖
dnf download --resolve openssh openssh-server openssh-clients

将得到的若干 .rpm 文件拷贝到目标机,然后执行:

bash 复制代码
dnf install ./*.rpm

同样再 systemctl restart sshd 即可

常见问题小结

现象 解决思路
升级后宝塔/面板无法启动 SSH 先临时通过 VNC/控制台登录,按本文步骤升级 openssh
没有可用包 检查是否启用了 baseos、appstream 仓库(CentOS-Stream-BaseOS、AlmaLinux-BaseOS)
担心升级带来配置变动 升级过程默认保留 /etc/ssh/sshd_config,如有冲突 rpm 会生成 .rpmnew 文件,手动对比即可
相关推荐
沫璃染墨19 分钟前
从零入门计算机网络系列(十二):HTTP长连接与会话管理详解——从Connection到Cookie与Session
linux·服务器·c++·tcp/ip·ubuntu·http·交互
温暖小土20 分钟前
在 CentOS 上安装 Redis Stack
linux·redis·centos
GeW2 小时前
国产化替代进入深水区之后Linux 与数据库为什么必须走向重建
linux
十碗饭吃不饱3 小时前
SSH 密钥认证详解:原理、实操、参数、排错与加固
运维·ssh
女神下凡5 小时前
芯参谋(85):Linux_PPI_NAND_驱动开发指南
linux·运维·arm开发·驱动开发·单片机·嵌入式硬件·设计规范
12.=0.6 小时前
【持续更新】shell脚本 + Linux命令
linux·运维·服务器
Escalating_xu6 小时前
【Linux 网络编程】五种 I/O 模型与非阻塞 I/O:从“等数据”到正确处理 EAGAIN
java·linux·网络
无言听风雨丶7 小时前
Linux 容器本质探秘:Cgroup 与 Namespace 深度解析与实战
linux·运维·服务器·kubernetes
万联WANFLOW7 小时前
CVE-2026-98432 等漏洞自查:AI 查出的 Linux、Windows 漏洞,运维怎么确认受不受影响
linux·运维·windows·网络安全
debugdynamo7 小时前
Netcatty:把 SSH 客户端做回工作台
运维·其他·ssh