当您需要在 CentOS 系统上离线更新 OpenSSH 时,您可以按照以下步骤操作:
- 查看相关组件版本是否存在:
- 首先,查看系统版本:
cat /etc/redhat-release
- 根据系统版本选择对应的组件进行上传。建议将所有上传的文件放到
/tmp
目录下。
- 下载依赖包:
- 升级 OpenSSH 需要依赖 ZLIB、Perl、OpenSSL,以及可能的 PAM。离线下载这些依赖对应的包:
- zlib-1.2.13.tar.gz
- perl-5.20.0.tar.gz
- Linux-PAM-1.3.1.tar.xz
- openssl-1.1.1n.tar.gz
- openssh-9.3p1.tar.gz
- 安装依赖项:
- 检查是否存在 gcc:
gcc -v
- 如果 gcc 不存在,上传对应版本的 gcc 相关 RPM 包,然后执行:
rpm -Uvh *.rpm --force --nodeps
- 升级 OpenSSH:
- 下载 OpenSSH 9.3 的源代码包:
wget https://www.openssh.com/portable/openssh-9.3.tar.gz
- 解压源代码包:
tar -zxvf openssh-9.3.tar.gz
- 进入解压后的目录:
cd openssh-9.3
- 配置编译选项:
./configure
- 编译 OpenSSH:
make
- 安装新版本的 OpenSSH:
sudo make install
- 替换系统中的 OpenSSH 二进制文件:
sudo mv /usr/sbin/sshd /usr/sbin/sshd.old
,然后sudo cp /usr/local/sbin/sshd /usr/sbin/sshd
- 重新启动 OpenSSH 服务:
sudo systemctl restart sshd
现在,您的 CentOS 系统的 OpenSSH 版本应该已经升级到 9.3 了。请在进行任何系统更改之前备份重要的数据和配置文件,并确保您对系统进行了完整的测试。