在CentOS上安装OpenSSL是一个相对常见的任务,特别是在需要使用较新版本的OpenSSL时,以下是详细的安装步骤和相关信息:
一、查看当前主机的OpenSSL版本信息
1、查看OpenSSL路径:

- which openssl
此命令将返回OpenSSL二进制文件的路径。
2、查看OpenSSL版本:
- openssl version
此命令将显示当前安装的OpenSSL的版本信息。
3、查看CentOS版本:
- cat /etc/redhatrelease
此命令将显示CentOS的版本信息。
二、安装OpenSSL
方法一:直接安装(适用于系统自带的软件仓库)

如果CentOS的软件仓库中包含所需版本的OpenSSL,可以直接通过yum进行安装,要安装OpenSSL及其开发包,可以使用以下命令:
- yum install openssl openssldevel
这种方法简单快捷,但可能无法安装到最新版本的OpenSSL。
方法二:下载源码编译安装(适用于需要特定版本或最新版本的情况)
1、安装必要的依赖:
- sudo yum groupinstall 'Development Tools'
- sudo yum install perlcore zlibdevel wget
这些依赖项包括gCC编译器、Perl解释器和zlib库等,是编译OpenSSL所需的基本工具。
2、下载OpenSSL源码:

从OpenSSL官网下载所需版本的源码包,要下载OpenSSL 3.3.1版本,可以使用以下命令:
- wget https://www.openssl.org/source/openssl3.3.1.tar.gz
3、解压并切换目录:
- tar zxvf openssl3.3.1.tar.gz
- cd openssl3.3.1
4、配置、编译和安装OpenSSL:
- ./config prefix=/usr/local/openssl openssldir=/usr/local/openssl
- make
- sudo make install
这里指定了安装目录为/usr/local/openssl
,可以根据需要调整。
5、更新系统环境变量:
为了让系统使用新版本的OpenSSL,需要更新环境变量,编辑/etc/profile
文件,添加以下行:
- PATH=/usr/local/openssl/bin:$PATH export PATH
保存后,使修改生效:
- source /etc/profile
6、更新库路径:
将OpenSSL的库路径添加到系统库路径中:
- echo "/usr/local/openssl/lib" | sudo tee /etc/ld.so.conf.d/openssl3.3.1.conf
- sudo ldconfig
7、验证安装:
确认系统使用了新安装的OpenSSL版本:
- openssl version
三、注意事项与常见问题解答
1、为什么选择源码编译安装?
源码编译安装允许用户安装特定版本的OpenSSL,特别是当系统自带的软件仓库中不包含所需版本时,源码编译还可以根据需要进行定制配置。
2、如何卸载旧版本的OpenSSL?
在安装新版本之前,可能需要先卸载旧版本的OpenSSL,可以使用以下命令卸载:
- yum remove openssl
3、如何处理编译过程中的依赖问题?
在编译OpenSSL时,可能会遇到缺少某些依赖项的问题,可以根据错误提示安装相应的依赖包,如GCC编译器、Perl解释器等。
4、如何切换OpenSSL版本?
如果系统中同时安装了多个版本的OpenSSL,可以通过修改软链接来切换版本,要将新版本的OpenSSL设置为默认版本,可以执行以下命令:
- ln sf /usr/local/openssl/bin/openssl /usr/bin/openssl
- ln sf /usr/local/openssl/include/openssl /usr/include/openssl
- ln sf /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
- ln sf /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
在CentOS上安装OpenSSL可以通过直接安装或源码编译安装两种方式实现,具体选择哪种方式取决于用户的需求和系统环境,在安装过程中需要注意依赖项的安装和环境变量的配置。