前言
OpenSSH 官方发布安全更新,修复了其 OpenSSH 存在的远程代码执行漏洞,漏洞编号CVE-2024-6387。可导致未经身份验证的远程攻击者执行任意代码等危害。
安全版本
4.4p1 <= OpenSSH < 8.5p1
OpenSSH >= 9.8p1
查看当前版本OpenSSH 7.6p1
ssh -V
OpenSSH_7.6p1 Ubuntu-4ubuntu0.7, OpenSSL 1.0.2n 7 Dec 2017
升级到OpenSSH 9.8p1
由于openssh9.8p1要求openssl版本大于等于1.1.1,先查看 openssl 版本
openssl version
OpenSSL 1.1.1 11 Sep 2018
流程(升级到OpenSSH 9.8p1)
安装编译依赖项
sudo apt-get update
sudo apt-get install build-essential zlib1g-dev libssl-dev libpam0g-dev libselinux1-dev
下载源码
wget https://github.com/openssh/openssh-portable/archive/refs/tags/V_9_8_P1.tar.gz
解压
tar -xzf V_9_8_P1.tar.gz
进入目录
cd openssh-portable-V_9_8_P1
配置编译
./configure --prefix=/usr/local --sysconfdir=/etc/ssh
make
以管理员权限安装编译生成的 OpenSSH 可执行文件和相关文件
sudo make install
# 将系统原有的 sshd (SSH 服务器守护进程)文件重命名为 sshd.bak 进行备份。
sudo mv /usr/sbin/sshd /usr/sbin/sshd.bak
# 创建一个符号链接,将新安装的 sshd 指向系统默认的位置,以便系统能够找到并使用新的 sshd。
sudo ln -s /usr/local/sbin/sshd /usr/sbin/sshd
# 重新启动 SSH 服务,使新安装的 OpenSSH 生效。
sudo systemctl restart sshd
查看版本
ssh -V
OpenSSH_9.8p1, OpenSSL 1.1.1 11 Sep 2018
流程(升级到OpenSSH 9.9p2)
# 更新依赖并编译安装 OpenSSH 9.9p2
sudo apt-get -y update && \
sudo apt-get install -y build-essential zlib1g-dev libssl-dev && \
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.9p2.tar.gz && \
tar -xzf openssh-9.9p2.tar.gz && \
cd openssh-9.9p2 && \
./configure && \
make && \
sudo make install && \
sudo systemctl restart ssh && \
echo 'export PATH=/usr/local/bin:/usr/local/sbin:$PATH' >> ~/.bashrc && \
source ~/.bashrc && \
sudo sed -i 's|ExecStartPre=/usr/sbin/sshd|ExecStartPre=/usr/local/sbin/sshd|; s|ExecStart=/usr/sbin/sshd|ExecStart=/usr/local/sbin/sshd|; s|ExecReload=/usr/sbin/sshd|ExecReload=/usr/local/sbin/sshd|' /lib/systemd/system/ssh.service && \
grep -E 'ExecStartPre|ExecStart|ExecReload' /lib/systemd/system/ssh.service && \
sudo rm /usr/local/etc/sshd_config && \
sudo ln -s /etc/ssh/sshd_config /usr/local/etc/sshd_config && \
sudo systemctl daemon-reload && \
sudo systemctl restart sshd && \
sudo rm /usr/sbin/sshd && \
ps -ef | grep sshd && \
ssh -V && \
cd