记一次在openEuler系统下离线编译升级到openssh9.8p1

缘起

由于某个项目上甲方对服务器进行漏洞扫描,系统为:openEuler 22.03 (LTS-SP4)。提示现有OpenSSH版本存在漏洞,需要升级到openssh-9.8p1的版本(目前最新),遂有了这篇记录文章。

PS:切记!在升级SSH之前服务器上最好安装telnet或其他远程工具,以防升级失败导致无法链接上服务器。

1、检查版本

bash 复制代码
[root@localhost cyunzing]# ssh -V
OpenSSH_8.8p1, OpenSSL 1.1.1wa  16 Nov 2023

可以看到现在的OpenSSH版本是8.8p1,在漏洞包含的版本范围内,需要进行升级。

2、下载openssh源码包

编译opensssh时需要服务器上安装的openssl版本大于等于1.1.1,而从上面ssh -V的结果可以看到系统默认的OpenSSL版本就是1.1.1。所以不需要考虑升级openssl,直接升级openssh即可。

2.1、服务器不可以联网的情况

在可以链接互联网网络的电脑下载源码包,再上传到内网中的服务器。

下载地址:https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz

2.2、服务器可以联网的情况

使用curl(openEuler系统最小化安装都自带了这个命令)命令下载,-o是指定下载后保存的文件名。

bash 复制代码
curl -o openssh-9.8p1.tar.gz https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz

2.3、解压openssh-9.8p1.tar.gz

上面两步结合具体情况任选一种即可,这里我选的是第一种,即2.1、服务器不可以联网的情况,保存在服务器的目录地址是/root/cyunzing/updateBugs/(目录要提前创建好),然后解压进入目录。

bash 复制代码
tar zxvf openssh-9.8p1.tar.gz
cd openssh-9.8p1/

3、编译安装openssh

通过2.3、解压openssh-9.8p1.tar.gz步骤解压、cd进入openssh-9.8p1/目录后执行以下命令,检查编译环境有无问题和进行编译安装。

bash 复制代码
./configure
make -j4 && make install

4、安装完毕

重启sshd服务

这一步如果没卡住不动就是没问题了。

bash 复制代码
systemctl restart sshd

5、检查是否安装成功

新开一个远程链接窗口 ,执行ssh -V对比未升级前的版本信息,判断是否升级完成。

bash 复制代码
[root@localhost openssh-9.8p1]# ssh -V
OpenSSH_9.8p1, OpenSSL 1.1.1wa  16 Nov 2023
相关推荐
SudosuBash3 小时前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI13 小时前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行1 天前
Linux和window共享文件夹
linux
木心月转码ing2 天前
WSL+Cpp开发环境配置
linux
崔小汤呀3 天前
最全的docker安装笔记,包含CentOS和Ubuntu
linux·后端
何中应3 天前
vi编辑器使用
linux·后端·操作系统
何中应3 天前
Linux进程无法被kill
linux·后端·操作系统
何中应3 天前
rm-rf /命令操作介绍
linux·后端·操作系统
何中应3 天前
Linux常用命令
linux·操作系统
葛立国3 天前
从 / 和 /dev 说起:Linux 文件系统与挂载点一文理清
linux