Bootstrap

AnolisOS8 Linux升级OpenSSH到9.9P1最新版本

最近一个项目使用的是AnolisOS8 Linux,因为涉及OpenSSH远程代码执行漏洞(CVE-2024-6387),需要升级到OpenSSH9.8P1以及以上版本,因为新出了OpenSSH9.9P1就直接上OpenSSH9.9P1 。

适用于任何RHEL(8/9)系发行版本:AlmaLinux8/9、Centos8/9、Rocky Linux、Oracle Linux等等

备份当前版本OpenSSH

1、查看当前OenSSH路径

[root@Jowto ~]# which ssh
# /usr/bin/ssh
[root@Jowto ~]# whereis ssh
# ssh: /usr/bin/ssh /etc/ssh /usr/share/man/man1/ssh.1.gz

2、创建备份目录

[root@Jowto ~]# mkdir -p /opt/openssh_backup

3、备份SSH配置

[root@Jowto ~]# cp -r /etc/ssh /opt/openssh_backup/ssh_$(date +%Y%m%d%H%M%S) #备份/etc/ssh,并添加时间戳。
[root@Jowto ~]# cp -r /etc/pam.d /opt/openssh_backup/pam.d_$(date +%Y%m%d%H%M%S) #备份/etc/pam.d,并添加时间戳。

4、验证备份

[root@Jowto ~]# ls -l /opt/openssh_backup/

下载编、编译安装新版OpenSSH

1、安装开发工具库和编译依赖包

[root@Jowto ~]# yum groupinstall "Development Tools" -y
[root@Jowto ~]# yum install pam-devel  openssl-devel zlib zlib-devel tar -y

2、下载最新版OpenSSH9.9SP1源代码

[root@Jowto ~]# wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.9p1.tar.gz

3、编译安装OpenSSH9.9P1源代码

[root@Jowto ~]# tar -zxvf openssh-9.9p1.tar.gz
[root@Jowto ~]# cd openssh-9.9p1
[root@Jowto openssh-9.9p1]# ./configure
[root@Jowto openssh-9.9p1]# make && make install

3、重启SSH服务

[root@Jowto openssh-9.9p1]# systemctl restart sshd

4、验证版本(部分发行版本需要重新建立新的SSH会话连接)

[root@Jowto openssh-9.9p1]# ssh -V
# OpenSSH_9.9p1, OpenSSL 1.1.1k  FIPS 25 Mar 2021

升级失败配置回退

1、恢复备份配置

[root@Jowto ~]# cp -r /opt/openssh_backup/ssh_20241230/* /etc/ssh/
[root@Jowto ~]# cp -r /opt/openssh_backup/pam.d_20241230/* /etc/pam.d/

2、重启SSH服务

[root@Jowto ~]# sudo systemctl restart sshd
;