版本: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端口转发功能以及scpsftp等安全文件传输工具

       OpenSSHOpenBSD项目维护是众多类Unix系统(包括Linux、macOS、FreeBSD等)的默认SSH实现它源于Tatu Ylönen的原始免费SSH实现,并移除了所有专利保护的算法OpenSSH以其高安全性活跃的社区支持持续的更新而广受信赖

       OpenSSH是一个可以自由使用的软件,任何用户都可以在自己的产品中使用OpenSSH,但是,OpenSSH不提供任何担保,担保该软件的质量以及维护,用户需要自己承担相关的风险。

       OpenSSH的官网地址:可以通过CSDN的智能搜索功能 (C知道-开发者首选的AI搜索引擎),搜索“OpenSSH社区官网地址”,获取OpenSSH的合法入口。

三、完成本文技术方案所使用的硬件和软件环境

(一)硬件环境

  1. 设备:联想ThinkBook 15 G3 ITL
  2. 处理器:11th Gen Intel(R) Core(TM) i5-1155G7 @ 2.50GHz (2.50 GHz)
  3. 机带RAM:24.0 GB (23.8 GB 可用)

(二)软件环境

  1. Windows 11 家庭中文版
  2. VirtualBox V7.2.6 r172322 (Qt6.8.0 on Windows)
  3. Oracle_VirtualBox_Extension_Pack-7.2.6.vbox-extpack
  4. MobaXterm v8.6
  5. OpenEuler 24.03 SP4 (LTS)
  6. zlib 1.3.2
  7. OpenSSL 3.5.7 LTS
  8. OpenSSH 10.4p1

(三)OpenEuler 24.03 SP4 (LTS)的Oracle VirtualBox虚拟机配置参数

  1. CPU核数:2
  2. 内存:8192MB
  3. 显存:16MB
  4. 显卡控制器:VMSVGA
  5. 网卡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


【创作团队】

策       划:沈传越

文字创作:沈传越

技术支持:沈传越

图片采集:沈传越

排       版:沈传越

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐