在维护 Linux 服务器时,升级 OpenSSH 是提升系统安全性的重要步骤。然而,升级过程中可能会遇到各种问题,导致服务无法启动或连接中断。本文将帮助你诊断并解决常见的 OpenSSH 升级失败问题。
/var/log/messages 或 journalctl -u sshdssh -Vsshd -tss -tulnp | grep :22/etc/ssh/sshd_config 和私钥文件(如 /etc/ssh/ssh_host_*_key)。
原因:动态链接库路径错误或缺失。
# 查找缺失的库
ldd /usr/sbin/sshd
# 若使用自定义编译路径,可临时指定
LD_LIBRARY_PATH=/usr/local/lib /usr/local/sbin/sshd -D
说明已有进程占用 22 端口。
# 查看占用进程
lsof -i :22
# 终止旧进程后重启
systemctl restart sshd
新版移除了某些旧选项(如 UsePrivilegeSeparation)。
解决方法:注释掉或删除不支持的配置项,参考官方 OpenSSH 发行说明。