如何在openEuler下升级和安装OpenSSH Server(v0.1.0)
版本:v0.1.0
明德融创工作室(Minter Fusion Studio, MFS) 出品
本文的所有步骤均经过测试复现
如果读者在实践中遇到问题,欢迎在评论区留言讨论
一、前言
openEuler默认安装有OpenSSH Server,一般情况下,只有在OpenSSH出现Bug,或系统出现安全漏洞的情况下,才需要升级OpenSSH。
如果系统可以直接连接外网,则推荐使用联网升级方法,这种方法相对更加安全。但是,一些企业、党政机关、科研单位的内部系统,是运行在内网的,内网与外网是物理隔离的,这种情况下,就需要使用源码安装的方式,来升级OpenSSH,修复系统Bug。
本文分别介绍这两种方法。由于银河麒麟服务器版也是基于openEuler开发的,因此,本文介绍的方法也可以作为银河麒麟服务器版的维护参考。
二、术语
【OpenEuler 操作系统】
参见MinterFusion(明德融创工作室)的CSDN博客文章何谓openEuler操作系统(v0.1.0)-CSDN博客。
【OpenSSL】
OpenSSL是一个采用C语言开发的,开源、商业级的密码学工具包,可以在Linux、Windows等多种平台下运行,其核心功能包括:
- libssl:实现SSL/TLS安全通信协议。
- libcrypto:提供通用的加密算法库。
- 命令行工具:可用于生成密钥、管理证书、加密解密等。
OpenSSL因为极高的安全性,被广泛应用于网络管理、Web服务、电子邮件和VPN等安全加密领域,以保护数据安全。
【SSH】
参见MinterFusion(明德融创工作室)的CSDN博客文章何谓SSH(v0.1.0)-CSDN博客。
【OpenSSH】
OpenSSH(OpenBSD Secure Shell)是一套基于SSH协议的开源网络连接工具集。它通过加密所有网络流量,有效消除窃听、连接劫持等网络层攻击,为远程登录、文件传输等操作提供安全的通信通道。
OpenSSH的核心组件包括:ssh客户端用于安全登录远程主机、sshd服务端用于提供远程访问服务,它支持多种身份验证方式(如密码、公钥、PAM等),并提供TCP端口转发功能以及scp和sftp等安全文件传输工具。
OpenSSH由OpenBSD项目维护,是众多类Unix系统(包括Linux、macOS、FreeBSD等)的默认SSH实现,它源于Tatu Ylönen的原始免费SSH实现,并移除了所有专利保护的算法。OpenSSH以其高安全性、活跃的社区支持和持续的更新而广受信赖。
OpenSSH是一个可以自由使用的软件,任何用户都可以在自己的产品中使用OpenSSH,但是,OpenSSH不提供任何担保,担保该软件的质量以及维护,用户需要自己承担相关的风险。
OpenSSH的官网地址:可以通过CSDN的智能搜索功能 (C知道-开发者首选的AI搜索引擎),搜索“OpenSSH社区官网地址”,获取OpenSSH的合法入口。
三、完成本文技术方案所使用的硬件和软件环境
(一)硬件环境
- 设备:联想ThinkBook 15 G3 ITL
- 处理器:11th Gen Intel(R) Core(TM) i5-1155G7 @ 2.50GHz (2.50 GHz)
- 机带RAM:24.0 GB (23.8 GB 可用)
(二)软件环境
- Windows 11 家庭中文版
- VirtualBox V7.2.6 r172322 (Qt6.8.0 on Windows)
- Oracle_VirtualBox_Extension_Pack-7.2.6.vbox-extpack
- MobaXterm v8.6
- OpenEuler 24.03 SP4 (LTS)
- zlib 1.3.2
- OpenSSL 3.5.7 LTS
- OpenSSH 10.4p1
(三)OpenEuler 24.03 SP4 (LTS)的Oracle VirtualBox虚拟机配置参数
- CPU核数:2
- 内存:8192MB
- 显存:16MB
- 显卡控制器:VMSVGA
- 网卡1:Intel PRO/1000 MT桌面(桥接网络,Realtek RTL8852BE WiFi 6 802.11ax PCIe Adapter)
四、OpenEuler 24.03 SP4虚拟机的构建
参见MinterFusion(明德融创工作室)的CSDN博客文章如何在VirtualBox中安装OpenEuler 24.03 SP4-CSDN博客。
五、在线维护升级方案
说明:
本文所有介绍的具体操作步骤统一在字符界面控制台中完成(如图1所示)。在本文档中,所有的操作命令统一采用如下格式:
| $ login 或 # dnf update |
其中“$”和“#”是系统Shell(操作界面)的命令提示符,在提示符后面输入系统命令。“$”代表普通用户,“#”代表root用户。
在命令名称之后,用户需要按回车键,才能执行命令。
图1 字符界面操作控制台
详细操作步骤见表1。
表1 在线升级步骤
| 序号 | 步骤名称 | 操作 | 备注 |
| 1. | 更新软件包 | $ sudo yum update 或 $ sudo dnf update | 使用普通用户登录后,首次执行该命令或长时间未执行操作的时候,需要先输入该用户的登录口令,才能执行命令,而且要求该用户隶属于管理员组。 |
六、使用源代码编译安装
在线升级方式,大概率无法升级到最新版本。因此使用源代码升级则是一种重要的替代手段。
使用源代码升级,是有一定风险的。SSHD是服务器远程维护的重要手段,而且默认情况下OpenEuler不提供未加密的telnet维护方式。如果SSHD崩溃,物理机又在远方,那可能物理机将处在长时间脱离监控的状态,这在网络安全上存在很大的风险。
在本文中,提供了一套相对安全的解决方案。
步骤1:安装zlib
(一)下载zlib
可以通过CSDN的智能搜索功能 (C知道-开发者首选的AI搜索引擎),搜索“zlib社区官网地址”,获取zlib的合法入口。
本文使用的是zlib 1.3.2。
(二)安装zlib
详细的安装步骤见表2。
表2 zlib安装步骤
| 序号 | 步骤名称 | 操作 | 备注 |
| 1. | 远程登录目标服务器 | 通过MobaXterm,连接目标服务器,以用户自己的用户名和口令登录系统 | |
| 2. | 将openssh安装程序上传到服务器上 | 通过MobaXterm上传文件openssh-10.4p1.tar.gz,目标地址/home/minterfusion | |
| 3. | 以root用户登录 | $ su | 执行该命令后,输入root用户的登录口令,切换到root用户状态。 后面可以使用exit命令退出root状态。 |
| 4. | 创建安装程序存放目录 | # mkdir /home/zlib-install | |
| 5. | 拷贝安装文件 | # mv /home/登录用户目录/zlib-1.3.2.tar.gz /home/zlib-install/ | |
| 6. | 进入zlib-install目录 | # cd /home/zlib-install | |
| 7. | 解压缩 | # tar -zxvf zlib-1.3.2.tar.gz # cd zlib-1.3.2 | |
| 8. | # ./configure --prefix=/usr/local/mfs-server/zlib | mfs-server,是Minter Fusion Studio独立建立的服务软件存放目录。 | |
| 9. | # make # make install |
步骤2:安装OpenSSL
![]()
(一)下载OpenSSL
可以通过CSDN的智能搜索功能 (C知道-开发者首选的AI搜索引擎),搜索“OpenSSL社区官网地址”,获取OpenSSL的合法入口。
本文档安装的OpenSSH版本是10.4p1,因此对应安装的OpenSSL版本采用3.5.7LTS版本。
(二)安装OpenSSL
详细的安装步骤见表3。
表3 OpenSSH安装步骤
| 序号 | 步骤名称 | 操作 | 备注 |
| 1. | 远程登录目标服务器 | 通过MobaXterm,连接目标服务器,以用户自己的用户名和口令登录系统 | |
| 2. | 将openssh安装程序上传到服务器上 | 通过MobaXterm上传文件openssh-10.4p1.tar.gz,目标地址/home/minterfusion | |
| 3. | 以root用户登录 | $ su | 执行该命令后,输入root用户的登录口令,切换到root用户状态。 后面可以使用exit命令退出root状态。 |
| 4. | 创建安装程序存放目录 | # mkdir /home/openssl-install | |
| 5. | 拷贝安装文件 | # mv /home/minterfusion/openssl-3.5.7.tar.gz /home/openssl-install/ | |
| 6. | 进入zlib-install目录 | # cd /home/openssl-install | |
| 7. | 解压缩 | # tar -zxvf openssl-3.5.7.tar.gz # cd openssl-3.5.7 | |
| 8. | # ./Configure --prefix=/usr/local/mfs-server/openssl | mfs-server,是Minter Fusion Studio独立建立的服务软件存放目录。 | |
| 9. | # make # make install |
步骤3:安装OpenSSH
使用源代码安装的方式,适用于高安全环境,特别是企业或单位内部网络中。在这种环境下,服务器只能在内网工作,禁止连接外网。此时,将被迫使用这种安装方式进行安装或升级。
本文示例用户的远端主机是Windows系统,使用MobaXterm远程连接openEuler服务器。
详细安装步骤见表4。
| 序号 | 步骤名称 | 操作 | 备注 |
| 1. | 远程登录目标服务器 | 通过MobaXterm,连接目标服务器,以用户自己的用户名和口令登录系统 | |
| 2. | 将openssh安装程序上传到服务器上 | 通过MobaXterm上传文件openssh-10.4p1.tar.gz,目标地址/home/minterfusion | |
| 3. | 以root用户登录 | $ su | 执行该命令后,输入root用户的登录口令,切换到root用户状态。 后面可以使用exit命令退出root状态。 |
| 4. | 创建安装程序存放目录 | # mkdir /home/openssh-install | |
| 5. | 拷贝安装文件 | # mv /home/minterfusion/openssh-10.4p1.tar.gz /home/openssh-install/ | |
| 6. | 进入openssh-install目录 | # cd /home/openssh-install | |
| 7. | 备份原/etc/ssh | # mkdir etc-ssh # cp -r /etc/ssh. etc-ssh/ | 这一步是为了备份原openSSH的配置,以便在安装出错后,还能恢复。 |
| 8. | 解压软件 | # tar -zxvf openssh-10.4p1.tar.gz # cd openssh-10.4p1 | |
| 9. | 配置安装方案 | # ./configure --prefix=/usr/local/mf-server/openssh --sysconfdir=/etc/ssh1 --with-zlib=/usr/local/mfs-server/zlib CPPFLAGS="-I/usr/local/mfs-server/openssl/include" LDFLAGS="-L/usr/local/mfs-server/openssl/lib64 -Wl,-rpath,/usr/local/mfs-server/openssl/lib64" | --prefix指定安装位置,--sysconfdir指定配置文件目录 |
| 10. | 编译 | # make -j4 | |
| 11. | 安装 | # make install | |
| 12. | 配置新安装的sshd | # vi /etc/ssh1/ssh_config | 找到其中的Port=22这一行 将前面的#删除 改成 port=222 这样就把SSH的访问端口修改为222了。 |
| 13. | 启动新的sshd测试 | # /usr/local/mf-server/openssh/sbin/sshd -f /etc/ssh1/sshd_config | |
| 14. | 防火墙开放命令 | # firewall-cmd --zone=public --add-port=222/tcp --permanent | |
| 15. | 重载防火墙规则 | # firewall-cmd --reload | |
| 16. | 检查新安装的sshd是否征程运行 | # ps -aux | grep sshd | 如果在输出结果中看到这样一行 root 17968 0.0 0.0 10052 2796 ? Ss 14:47 0:00 sshd: /usr/local/mf-server/openssh/sbin/sshd -f /etc/ssh1/sshd_config [listener] 0 of 10-100 startups 说明运行正常。 否则,大概率是端口设置的问题,重新返回第22步设置。 |
| 17. | 测试新安装的sshd是否正常运行 | 使用MobaXterm,从远端通过222端口连列服务器主机,如果连接成功,则说明sshd正常运行 |
这个方案会在系统中,形成两个sshd进程,一个运行在端口22上,是旧的sshd进程,终止这个进程就可以了。
【版本信息】
版 本:0.1.0
完成时间:2026-08-16
第一次发布时间:2026-08-16
最后更新时间:2026-08-16
【创作团队】
策 划:沈传越
文字创作:沈传越
技术支持:沈传越
图片采集:沈传越
排 版:沈传越
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)