CentOS 7 升级 OpenSSL 3.5.1 的详细教程
CentOS 7 升级 OpenSSL 3.5.1 的详细教程。
CentOS 7 默认自带的 OpenSSL 是 1.0.2k,比较老,不支持许多现代协议和加密套件。
升级需要 源码编译,并避免影响系统依赖。
OpenSSL 官网:https://www.openssh.com/
离线安装看第七步,第七步执行完以后从 “二、下载 OpenSSL 3.5.1” 开始操作
🔧 CentOS 7 升级 OpenSSL 3.5.1 教程
一、准备工作
- 确认系统版本
cat /etc/centos-release
输出类似:
CentOS Linux release 7.9.2009
- 确认当前 OpenSSL 版本
openssl version
- 安装编译依赖
yum -y install epel-release
yum -y groupinstall "Development Tools"
yum -y install perl-core zlib zlib-devel wget curl tar
二、下载 OpenSSL 3.5.1
cd /tmp
wget https://github.com/openssl/openssl/releases/download/openssl-3.5.1/openssl-3.5.1.tar.gz
tar -zxvf openssl-3.5.1.tar.gz
cd openssl-3.5.1
三、编译 & 安装
1. 配置安装目录
建议不要覆盖系统自带的 1.0.2k,而是安装到 /usr/local/openssl-3.5.1
,并通过软链接控制版本:
注意:
从这步骤开始每步执行完成以后建议查看书否执行成功 echo $?
这个命令输出如果是0 就继续执行否则先看报错。
./Configure linux-x86_64 \--prefix=/usr/local/openssl-3.5.1 \--openssldir=/usr/local/openssl-3.5.1/ssl \enable-zlib \enable-threads \enable-dynamic-engine \shared
🔹
linux-x86_64
表示 64 位 Linux 系统(x86_64 架构)
🔹--prefix=/usr/local/openssl-3.5.1
安装根目录
🔹--openssldir=/usr/local/openssl-3.5.1/ssl
运行时配置目录
🔹zlib
:启用压缩支持
🔹enable-threads
启用多线程支持
🔹enable-dynamic-engine
启用动态引擎加载
🔹shared
:启用共享库(libssl.so / libcrypto.so)
2. 编译安装
## 编译过程很慢尤其是双核或者四核心的CPU,16核心以上的CPU很快
make -j$(nproc)
make install
四、配置系统使用新版本
1. 建立软链接
mv /usr/bin/openssl /usr/bin/openssl.bak
chmod -R 755 /usr/local/openssl-3.5.1
ln -s /usr/local/openssl-3.5.1/bin/openssl /usr/bin/openssl
2. 配置库文件
echo "/usr/local/openssl-3.5.1/lib64" >> /etc/ld.so.conf
ldconfig
3. 验证
openssl version
输出应为:
OpenSSL 3.5.1 1 Jul 2025 (Library: OpenSSL 3.5.1 1 Jul 2025)
五、兼容性注意事项
- 系统依赖
CentOS 7 中yum
、curl
、ssh
等很多包依赖openssl-1.0.2k
,强行覆盖可能导致软件不可用。
👉 推荐方案:
- 保留
/usr/lib64/libssl.so.10
和/usr/lib64/libcrypto.so.10
(系统用) - 自己编译的软件(Nginx、OpenSSH 等)指定新 OpenSSL 路径编译
- Nginx / OpenSSH 重新编译
例如 Nginx:
./configure --with-openssl=/usr/local/src/openssl-3.5.1 ...
这样才能启用 TLSv1.3。
六、回滚方法
如果新版本有问题:
rm -f /usr/bin/openssl
mv /usr/bin/openssl.bak /usr/bin/openssl
rm -f /etc/ld.so.conf.d/openssl-3.5.1.conf
ldconfig
✅ 至此 CentOS 7 已成功升级到 OpenSSL 3.5.1,并且可以独立运行新版本,不影响系统自带的 1.0.2k。
七、 CentOS 7 离线升级 OpenSSL 3.5.1 操作指南
1. 下载离线安装包
安装包地址:
🔗 百度网盘下载
提取码:nnga
下载后,将安装包上传到服务器。
2. 解压安装包
unzip openssl.zip
3. 安装依赖包
cd openssl
yum localinstall -y *.rpm
4. 从步骤二开始安装 OpenSSL 3.5.1
依赖安装完成后,继续执行之前教程里的 第二步(下载 OpenSSL 3.5.1 源码并编译安装)。
5. 如果仍缺少依赖包
在安装过程中,如果提示缺少依赖,可以使用以下命令下载补充依赖包(在有网络的机器上操作):
## 方法 1:下载指定包及其依赖
yumdownloader --resolve --destdir=./openssl <包名>
# 注意:需要先安装 yum-utils
yum install -y yum-utils## 方法 2:下载 Development Tools 整个工具组
yum groupinstall --downloadonly --downloaddir=./openssl "Development Tools"## 方法 3:单独下载某些依赖包
yum install --downloadonly --downloaddir=./openssl <包名>
下载完成后,将依赖包拷贝到离线服务器,再用:
yum localinstall -y *.rpm
进行安装。