🔧 CentOS 7 / Kylin Linux V10 升级 OpenSSL 3.6.1 详细教程
CentOS 7/麒麟V10 升级 OpenSSL 3.6.1 完整指南(附离线安装包
📋 适用范围
本教程主要针对 CentOS 7 和 Kylin Linux V10 系统编写,但以下 Linux 发行版也可参考本教程进行 OpenSSL 升级,可能有区别的地方是安装依赖那块:
| 发行版 | 备注 |
|---|---|
| CentOS 8 / RHEL 8 | 依赖安装命令类似,推荐使用 dnf 代替 yum |
| Ubuntu 18.04+ / Debian 10+ | 依赖安装使用 apt,编译步骤相同 |
| Fedora 30+ | 使用 dnf 安装依赖,编译步骤相同 |
| openEuler 20.03+ | 依赖安装命令与 CentOS 7 类似 |
| SUSE Linux Enterprise Server | 依赖安装使用 zypper,编译步骤相同 |
💡 提示:不同发行版的依赖包名称可能略有差异,安装依赖时请根据实际情况调整命令。
其他版本OpenSSL 升级参考
升级 OpenSSL 3.5.1
升级 OpenSSL 3.5.4
OpenSSL3.5.4升级方案:自动化脚本
一、准备工作
1. 确认系统版本
bash
cat /etc/centos-release
CentOS 7 输出示例:
CentOS Linux release 7.9.2009
bash
cat /etc/kylin-release
麒麟 V10 输出示例:
Kylin Linux Advanced Server release V10 (Sword)
2. 确认当前 OpenSSL 版本
bash
openssl version
3. 安装编译依赖
CentOS 7 系统:
bash
yum -y install epel-release
yum -y groupinstall "Development Tools"
yum -y install perl-core zlib zlib-devel wget curl tar openssl-devel
Kylin Linux V10 系统:
bash
yum install -y gcc gcc-c++ make cmake \
perl perl-IPC-Cmd perl-Data-Dumper \
zlib-devel libtool autoconf automake \
diffutils
二、下载 OpenSSL 3.6.1
bash
cd /tmp
wget https://github.com/openssl/openssl/releases/download/openssl-3.6.1/openssl-3.6.1.tar.gz
tar -zxvf openssl-3.6.1.tar.gz
cd openssl-3.6.1
三、编译 & 安装
1. 配置安装目录
建议不要覆盖系统自带的 OpenSSL,而是安装到 /usr/local/openssl-3.6.1,并通过软链接控制版本。
💡 提示 :从这步骤开始,每步执行完成后建议检查是否执行成功,使用命令
echo $?。如果输出是 0 则继续执行,否则先查看报错信息。
CentOS 7 系统:
bash
./config \
--prefix=/usr/local/openssl-3.6.1 \
--openssldir=/usr/local/openssl-3.6.1/ssl \
enable-zlib \
enable-threads \
enable-dynamic-engine \
shared \
CFLAGS="-std=gnu99"
Kylin Linux V10 系统:
bash
./config \
--prefix=/usr/local/openssl-3.6.1 \
--openssldir=/usr/local/openssl-3.6.1/ssl \
enable-zlib \
enable-threads \
enable-dynamic-engine \
shared
🔹
--prefix=/usr/local/openssl-3.6.1:安装根目录🔹
--openssldir=/usr/local/openssl-3.6.1/ssl:运行时配置目录🔹
enable-zlib:启用压缩支持🔹
enable-threads:启用多线程支持🔹
enable-dynamic-engine:启用动态引擎加载🔹
shared:启用共享库(libssl.so / libcrypto.so)🔹
CFLAGS="-std=gnu99":强制使用 gnu99 编译(仅 CentOS 7 需要)
2. 编译安装
bash
make -j$(nproc)
make install
⏳ 提示:编译过程较慢,尤其是在双核或四核 CPU 上。16 核以上的 CPU 会更快。
四、配置系统使用新版本
1. 建立软链接
bash
mv /usr/bin/openssl /usr/bin/openssl.bak
chmod -R 755 /usr/local/openssl-3.6.1
ln -s /usr/local/openssl-3.6.1/bin/openssl /usr/bin/openssl
2. 配置库文件
bash
echo "/usr/local/openssl-3.6.1/lib64" >> /etc/ld.so.conf
ldconfig
3. 验证安装
bash
openssl version
验证成功的输出应为:
OpenSSL 3.6.1 27 Jan 2026 (Library: OpenSSL 3.6.1 27 Jan 2026)
五、兼容性注意事项
1. 系统依赖
CentOS 7 和 Kylin V10 中 yum、curl、ssh 等很多包依赖系统自带的 OpenSSL,强行覆盖可能导致软件不可用。
推荐方案:
- 保留系统原有库文件(如
/usr/lib64/libssl.so.10和/usr/lib64/libcrypto.so.10) - 自行编译的软件(Nginx、OpenSSH 等)指定新 OpenSSL 路径编译
2. Nginx / OpenSSH 重新编译
例如 Nginx:
bash
./configure --with-openssl=/usr/local/src/openssl-3.6.1 ...
这样才能启用 TLSv1.3 协议支持。
六、回滚方法
如果新版本出现问题,可以按照以下步骤回滚到系统默认版本:
bash
rm -f /usr/bin/openssl
mv /usr/bin/openssl.bak /usr/bin/openssl
rm -f /etc/ld.so.conf.d/openssl-3.6.1.conf
ldconfig
✅ 至此 CentOS 7 / Kylin Linux V10 已成功升级到 OpenSSL 3.6.1,并且可以独立运行新版本,不影响系统自带版本。
七、离线升级操作指南
注意:离线安装包仅有centos7系统的,麒麟系统可以根据我下面提供的方法自行下载。
1. 下载离线安装包
安装包地址:
🔗 百度网盘下载
提取码:hw8u
下载后,将安装包上传到服务器。
2. 解压安装包
bash
unzip openssl.zip
3. 安装依赖包
bash
cd openssl
yum localinstall -y *.rpm
4. 继续安装 OpenSSL 3.6.1
依赖安装完成后,继续执行本教程的第二步开始的编译安装步骤。
5. 补充依赖包下载方法
如果安装过程中提示缺少依赖,可在有网络的机器上使用以下命令下载:
bash
yum install -y yum-utils
## 方法 1:下载指定包及其依赖
yumdownloader --resolve --destdir=./openssl <包名>
## 方法 2:下载 Development Tools 工具组
yum groupinstall --downloadonly --downloaddir=./openssl "Development Tools"
## 方法 3:单独下载某些依赖包
yum install --downloadonly --downloaddir=./openssl <包名>
下载完成后,将依赖包拷贝到离线服务器,再用以下命令安装:
bash
yum localinstall -y *.rpm
总结
通过本教程,你已掌握在 CentOS 7 和 Kylin Linux V10 系统上升级 OpenSSL 到 3.6.1 版本的方法,包括:
- 在线升级的完整步骤
- 离线升级的详细指南
- 系统兼容性处理
- 紧急回滚方案
升级后的优势
- 安全性提升:获得最新的安全补丁和漏洞修复
- 性能优化:支持更高效的加密算法和协议
- 功能扩展:启用 TLSv1.3 等现代协议支持
- 兼容性保障:通过软链接方式,不影响系统默认版本
注意事项
- 严格按照教程步骤操作,特别是配置和软链接部分
- 每步执行后检查是否成功,避免因错误导致系统问题
- 如需在生产环境操作,建议先在测试环境验证
- 保存好回滚命令,以备不时之需