基于服务器操作系统层面openssh相关漏洞的手动修复

私有部署 操作系统openssh漏洞修复  收藏
0 / 346

关于 openssh 漏洞版本修复以及 SSH 密钥交换漏洞修复的参考步骤(这里以升级到 openssh-9.8p1 为例)

1. 准备依赖(基于 Debian10)

首先找一台可以联网的 Debian10 服务器,执行下述命令进行依赖下载

apt update
apt-get install -y apt-rdepends
cd ~/ && wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz

a. 待修复服务器和外网通

apt-get install build-essential zlib1g-dev libssl-dev libpam0g-dev libselinux1-dev -y

b. 待修复服务器不通外网

mkdir ~/openssh-dep-pkgs
cd ~/openssh-dep-pkgs
apt-rdepends build-essential zlib1g-dev libssl-dev libpam0g-dev libselinux1-dev | grep -v "^ " | grep -v "^Reverse Depends:" > packages.txt
cat packages.txt | xargs -n 1 apt-get download
cd ../ && tar -zcvf openssh-dep-pkgs.tar.gz openssh-dep-pkgs
# 把openssh-dep-pkgs.tar.gz上传到待修复服务器~/下
# 登录到待修复服务器执行
cd ~/ && tar -zxvf openssh-dep-pkgs.tar.gz && cd openssh-dep-pkgs && dpkg -i *.deb
echo Y | apt --fix-broken install

2. 编译

cd ~/ && tar -zxvf openssh-9.8p1.tar.gz && cd ~/openssh-9.8p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib
make && make install

3. 修改/lib/systemd/system/ssh.service 中 Type=notify 为 Type=simple

sed -i 's/Type=notify/Type=simple/g' /lib/systemd/system/ssh.service

4. 重启 sshd 服务

systemctl daemon-reload && systemctl restart sshd

5. 查看 SSH 版本(输出为 9.8p1 即完成)

ssh -V