此包专为 **Anolis OS 7.9 x86_64** 构建,也兼容 CentOS 7 / EulerOS 2.0 SP2 等基于 RHEL 7 的系统
编译依赖 RPM 来自 CentOS 7 vault 镜像,与 Anolis OS 7.9 二进制兼容
OpenSSL 安装到独立路径,不影响系统原有 OpenSSL
如目标系统已有部分编译工具,脚本会跳过已安装的包
OpenSSH 9.8p1 离线安装包 (Anolis OS 7.9)
包内容
-
`sources/openssh-9.8p1.tar.gz` - OpenSSH 9.8p1 源码
-
`sources/openssl-1.1.1w.tar.gz` - OpenSSL 1.1.1w 源码
-
`build-deps/*.rpm` - 编译依赖 RPM 包 (199 个,来自 CentOS 7 vault,与 Anolis OS 7.9 兼容)
-
`install-offline.sh` - 离线安装脚本
安装方式
```bash
1. 将打包文件传到目标 Anolis OS 7.9 系统
scp openssh-9.8p1-offline-bundle.tar.gz root@<target>:/root/
2. 在目标系统上解压并执行
ssh root@<target>
cd /root
tar -xzf openssh-9.8p1-offline-bundle.tar.gz
cd openssh-9.8p1-offline-bundle
bash install-offline.sh
```
脚本执行流程
-
**安装编译依赖** - 从 `build-deps/` 本地安装 gcc/make/autoconf/zlib-devel/pam-devel/krb5-devel/libedit-devel/perl 等
-
**编译 OpenSSL 1.1.1w** - 安装到 `/usr/local/openssl-1.1`(不覆盖系统 openssl)
-
**编译 OpenSSH 9.8p1** - 链接到新 OpenSSL,使用 rpath 确保运行时找到正确的库
-
**备份当前 ssh** - 备份 `/etc/ssh`、sshd 二进制、PAM 配置、systemd service 到 `backup/`
-
**安装并重启 sshd** - 测试配置后重启服务
安全说明
**不会断连**:脚本在前台运行,但 sshd 重启时 SSH 会话可能短暂中断,几秒后可重连
**自动备份**:所有原文件备份到 `backup/` 目录,带时间戳
**回滚方法**(见脚本输出):
```bash
cp backup/sshd.bin.* /usr/sbin/sshd
cp backup/ssh.bin.* /usr/bin/ssh
cp -a backup/etc-ssh-*/* /etc/ssh/
systemctl restart sshd
```
安装后的关键路径
OpenSSH 9.8p1: `/usr/bin/ssh`, `/usr/sbin/sshd`, `/usr/libexec/openssh/`
OpenSSL 1.1.1w: `/usr/local/openssl-1.1/` (库文件在 `lib/`)
配置文件: `/etc/ssh/`, `/etc/pam.d/sshd`, `/etc/sysconfig/sshd`
systemd 服务: `/usr/lib/systemd/system/sshd.service` (Type=simple)
验证安装
```bash
ssh -V # 应显示 OpenSSH_9.8p1, OpenSSL 1.1.1w
systemctl status sshd # 应为 active (running)
/usr/local/openssl-1.1/bin/openssl version # OpenSSL 1.1.1w
ldd /usr/sbin/sshd | grep libcrypto # 应指向 /usr/local/openssl-1.1/lib/
```