OpenSSH(Open Secure Shell) 是 SSH 协议的开源实现,用于在不安全网络中建立加密通信,支持远程登录、文件传输等功能。作为 Linux/BSD 系统的核心组件,其安全性直接影响全球数百万服务器的管理。 OpenSSH 以代码质量和安全性著称,但近期曝光的两个高危漏洞 (CVE-2025-26465 和 CVE-2025-26466) 再次敲响警钟 13 。
VerifyHostKeyDNS
功能存在逻辑错误,当客户端通过 DNS 验证服务器密钥时,特定错误 (如内存分配失败) 会被误判为验证成功,导致攻击者可伪造服务器密钥并拦截敏感数据 13 。适用系统: Debian/Ubuntu/CentOS 等 Linux 发行版 注意事项:
/etc/ssh/sshd_config
) 及原 sshd
可执行文件。screen
或 tmux
保持会话,防止网络中断导致升级失败 48 。# 更新依赖并编译安装 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
在root环境下可以去除sudo,由于 root 账户本身拥有最高权限,无需使用 sudo
。
apt-get -y update && \
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 && \
make install && \
systemctl restart ssh && \
echo 'export PATH=/usr/local/bin:/usr/local/sbin:$PATH' >> ~/.bashrc && \
source ~/.bashrc && \
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 && \
rm /usr/local/etc/sshd_config && \
ln -s /etc/ssh/sshd_config /usr/local/etc/sshd_config && \
systemctl daemon-reload && \
systemctl restart sshd && \
rm /usr/sbin/sshd && \
ps -ef | grep sshd && \
ssh -V && \
cd
关键步骤解析:
build-essential
提供编译工具链,zlib1g-dev
和 libssl-dev
为必要加密库 24 。sshd
被加载 8 。1.版本检查
ssh -V # 应输出 OpenSSH_9.9p2:cite[4]:cite[8]
2. 服务状态确认
systemctl status sshd # 确保服务处于 active (running) 状态:cite[8]
3.连接测试
ssh localhost # 验证本地 SSH 登录是否正常
netstat -tulnp | grep ssh # 确认 SSH 端口监听正常
4.日志排查
journalctl -u sshd --since "2025-02-20" # 检查近期服务日志是否有异常:cite[8]
sshd
和配置文件,并重启服务 4 。ufw
) 降低暴露风险 69 。此次漏洞暴露了 OpenSSH 在自动化密钥验证和内存管理中的设计缺陷,影响范围广且危害严重。用户需尽快升级至 9.9p2 版本,并遵循上述验证步骤确保修复生效。对于依赖 SSH 的企业,建议定期审查安全配置,结合纵深防御策略抵御未来威胁 139 。