记一次在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
相关推荐
深度Linux4 小时前
Linux网络编程中的零拷贝:提升性能的秘密武器
linux·linux内核·零拷贝技术
chian-ocean8 小时前
从理论到实践:Linux 进程替换与 exec 系列函数
linux·运维·服务器
拎得清n8 小时前
UDP编程
linux
敖行客 Allthinker8 小时前
从 UTC 日期时间字符串获取 Unix 时间戳:C 和 C++ 中的挑战与解决方案
linux·运维·服务器·c++
夏尔Gaesar10 小时前
Vim安装与配置教程(解决软件包Vim没有安装可候选)
linux·编辑器·vim
hunter20620610 小时前
如何监控ubuntu系统某个程序的运行状态,如果程序出现异常,对其自动重启。
linux·chrome·ubuntu
慕雪华年11 小时前
【Linux】opencv在arm64上提示找不到libjasper-dev
linux·运维·opencv
s_little_monster13 小时前
【Linux】从硬件到软件了解进程
linux·运维·服务器·经验分享·笔记·学习·学习方法
zyhhsss15 小时前
Ubuntu&Windows双系统安装
linux·运维·ubuntu
Marilynhom16 小时前
CentOs9新手教程
linux·centos