缘起
由于某个项目上甲方对服务器进行漏洞扫描,系统为: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