升级OpenSSL
#查看版本
openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
#查看路径
which openssl
/usr/bin/openssl
开始升级:
#下载OpenSSL源码包
wget https://github.com/openssl/openssl/archive/refs/tags/OpenSSL_1_1_1o.tar.gz
yum install pam* zlib* #安装依赖
tar -zxxf openssl-OpenSSL_1_1_1o.tar.gz #解压源码包
cd openssl-OpenSSL_1_1_1o #进入到安装目录
./config --prefix=/usr/local/OpenSSL_1_1_1o shared zlib #预编译,加上shared zlib两个参数
make -j 4 #编译
make install #安装
echo '/usr/local/openssl/lib' >> /etc/ld.so.conf #修改系统配置,写入openssl库文件的搜索路径
ldconfig -v #重新加载动态库
cd /usr/local/OpenSSL_1_1_1o/bin #进入到安装目录
./openssl version #查看安装的版本(问题见备注)
mv /usr/bin/openssl /usr/bin/openssl_old #把/usr/bin/openssl 这个可执行文件重命名备份
mv /usr/include/openssl /usr/include/openssl_old #把/usr/include/openssl这个目录重命名备份
ln -s /usr/local/OpenSSL_1_1_1o/bin/openssl /usr/bin/openssl #建一个/usr/bin/openssl软链接,链接到我们新安装的
ln -s /usr/local/OpenSSL_1_1_1o/include/openssl /usr/include/openssl #建一个/usr/include/openssl软链接,链接到我们新安装的OpenSSL_1_1_1o下的include的openssl目录
openssl version #查看版本
备注:
问题1、
[root@xgserver1 openssl-OpenSSL_1_1_1o]# cd /usr/local/OpenSSL_1_1_1o/
[root@xgserver1 OpenSSL_1_1_1o]# cd bin/
[root@xgserver1 bin]# ./openssl version
报错:./openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
[root@xgserver1 bin]# find / -name libssl.so.1.1
/root/openssl-OpenSSL_1_1_1o/libssl.so.1.1
/usr/local/OpenSSL_1_1_1o/lib/libssl.so.1.1
[root@xgserver1 bin]# ln -s /usr/local/OpenSSL_1_1_1o/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
[root@xgserver1 bin]# ./openssl version
报错:./openssl: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory
[root@xgserver1 bin]# find / -name libcrypto.so.1.1
/root/openssl-OpenSSL_1_1_1o/libcrypto.so.1.1
/usr/local/OpenSSL_1_1_1o/lib/libcrypto.so.1.1
[root@xgserver1 bin]# ln -s /usr/local/OpenSSL_1_1_1o/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
[root@xgserver1 bin]# ./openssl version
OpenSSL 1.1.1o 3 May 2022
问题2、
如果升级ssl后查看版本依旧是老版本,重新执行
mv /usr/bin/openssl /usr/bin/openssl_old #把/usr/bin/openssl 这个可执行文件重命名备份
mv /usr/include/openss /usr/include/openss_old #把/usr/include/openssl这个目录重命名备份
ln -s /usr/local/OpenSSL_1_1_1o/bin/openssl /usr/bin/openssl #建一个/usr/bin/openssl软链接,链接到我们新安装的
ln -s /usr/local/OpenSSL_1_1_1o/include/openssl /usr/include/openssl #建一个/usr/include/openssl软链接,链接到我们新安装的OpenSSL_1_1_1o下的include的openssl目录