OpenEuler系统如何升级OpenSSh10.3P1版本

在 openEuler 24.03 系统上升级 OpenSSH 到最新的 10.3 版本(OpenSSH 10.3 于 2026 年 4 月发布),最通用且可靠的方式是通过源码编译安装。因为官方软件源的更新通常会滞后于上游的发布。

⚠️ 关键风险警告(操作前必读): 升级 SSH 服务是一项高风险操作。如果配置不当或服务启动失败,你将失去对服务器的远程访问权限

  1. 在整个升级过程中,绝对不要关闭当前的 SSH 终端窗口! > 2. 建议提前配置备用登录方式(如通过云控制台的 VNC、IPMI 或物理机台直接操作)。

  2. 建议新开一个 SSH 窗口进行测试,确保无误后再断开旧连接。

环境准备与依赖安装

复制代码
sudo dnf update -y
sudo dnf install -y gcc make wget tar zlib-devel openssl-devel pam-devel

备份现有配置(极其重要)

复制代码
sudo cp -a /etc/ssh /etc/ssh_backup
sudo cp -a /etc/pam.d/sshd /etc/pam.d/sshd_backup

3. 下载并解压 OpenSSH 10.3 源码

复制代码
cd /usr/local/src
sudo wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-10.3p1.tar.gz
sudo tar -zxvf openssh-10.3p1.tar.gz
cd openssh-10.3p1

编译与安装

复制代码
配置编译参数。这里使用 --prefix=/usr 和 --sysconfdir=/etc/ssh 是为了覆盖直接安装

sudo ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib
sudo make
sudo make install

注:make install 过程会自动覆盖 /usr/sbin/sshd/usr/bin/ssh 等核心文件。如果提示文件已存在,它也会直接覆盖。

检测sshd配置是否正确

复制代码
# 测试配置
/usr/local/openssh/sbin/sshd -t

# 如果测试通过,重启服务
systemctl restart sshd

# 查看版本
ssh -V

报错:

解决报错

找到报错提示的那几行,在行首添加 # 号将它们注释掉:

复制代码
#GSSAPIAuthentication yes
#GSSAPICleanupCredentials no
#GSSAPIKexAlgorithms ...

最后重新检查配置文件是否正确

复制代码
/usr/local/openssh/sbin/sshd -t

版本确定升级成功

复制代码
[root@localhost openssh-10.3p1]# ssh -V
OpenSSH_10.3p1, OpenSSL 3.0.12 24 Oct 2023
相关推荐
用户805533698033 小时前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297914 小时前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
乘云数字DATABUFF4 小时前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
Web3探索者2 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo2 天前
Linux系统中网线与USB网络共享冲突
linux
荣--2 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森2 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜3 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
Sokach10153 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
SelectDB4 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维