适用于无网络环境下的安全 SSH 版本更新方案
OpenSSH 是 Linux/Unix 系统中用于远程登录和文件传输的核心组件。旧版本可能存在已知安全漏洞(如 CVE-2023-38408),攻击者可利用这些漏洞执行远程代码或窃取敏感信息。因此,及时升级至最新稳定版是保障服务器安全的关键措施。
但在生产环境中,许多服务器出于安全策略限制无法直接访问互联网,这就需要通过“离线升级”方式完成更新。
ssh -V
输出示例:OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
使用 U 盘、内网 FTP 或 scp 等方式将上述文件传输到目标服务器的 /tmp 或指定目录。
大多数系统已预装 gcc、make、perl 等工具。若缺失,请提前准备对应 RPM/DEB 包离线安装。
tar -zxvf openssl-3.0.12.tar.gz
cd openssl-3.0.12
./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
make -j$(nproc)
sudo make install
tar -zxvf openssh-9.8p1.tar.gz
cd openssh-9.8p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl --with-pam --with-zlib
make -j$(nproc)
sudo cp -r /etc/ssh /etc/ssh.bak
sudo make install
/usr/sbin/sshd -t # 测试配置文件语法
sudo systemctl restart sshd
ssh -V
/etc/pam.d/sshd 存在且兼容。/etc/ssh/sshd_config。