CentOS 7 升级 OpenSSH 9.8p1

背景

OpenSSH 官方发布安全通告,披露CVE-2024-6387 OpenSSH Server远程代码执行漏洞。

环境

操作系统 内核 openssh 版本 openssl 版本
7.8.2003 3.10.0-1127 7.4p1 1.0.2k-fips

安装编译软件和下载 OpenSSH9.8p1 软件包

mkdir -p /data/software 
cd /data/software/

yum install wget gcc gcc-c++ zlib-devel epel-release -y

# 因为 OpenSSH 9.8p1 需要 OpenSSL 的版本 >= 1.1.1,所以需要安装 openssl11
yum install openssl11 openssl11-devel -y

wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz
tar -xzf openssh-9.8p1.tar.gz

编译安装 OpenSSH 9.8p1

cd /data/software/openssh-9.8p1

# 需要手动指定 openssl11 的头文件和库的位置
./configure CFLAGS="-I/usr/include/openssl11" LDFLAGS="-L/usr/lib64/openssl11/"
make
make install

# 编制安装的二进制加入 PATH
echo 'export PATH=/usr/local/bin:/usr/local/sbin:$PATH' >> ~/.bashrc

更新 sshd.service

cp /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.service.ori

vi /usr/lib/systemd/system/sshd.service
# 修改下面两处,指定新的 sshd 和 配置文件
EnvironmentFile=/usr/local/etc/sshd_config
ExecStart=/usr/local/sbin/sshd -D $OPTIONS

# 修改新 sshd_config 的配置
cat >> /usr/local/etc/sshd_config << EOF
PermitRootLogin yes
PubkeyAuthentication yes
PasswordAuthentication yes
EOF

# 注意如果原来的 /etc/ssh/sshd_config 配置做更改,需要自行修改到新的配置上 /usr/local/etc/sshd_config

# 重新启动 sshd.service
systemctl daemon-reload
systemctl restart sshd

检查

ssh -V


修复完成~

posted @ 2024-07-04 10:32  klvchen  阅读(3715)  评论(0编辑  收藏  举报