前言

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

参考资料

https://cloud.tencent.com/announce/detail/2002

https://cloud.tencent.com/developer/article/2498038

最后修改:2025 年 07 月 13 日
如果觉得我的文章对你有用,请随意赞赏