最近上级要求更新openssl到最新版本,修复漏洞,这里做个记录,方便后续实施,因为公司机房安全要求高,只能通过跳板机访问机房服务器,且不能在线安装程序,在机器上离线部署的软件源(这个后续我看看单独出一篇教程)。
首先看下目前的版本
openssl version
安装程序编译所需
yum -y install gcc*
下载最新版openssl ,可以在线下载的可以通过以下命令
wget https://www.openssl.org/source/openssl-3.2.0.tar.gz
我这里没法在线下载,跳板机下载下来后,使用FileZilla上传到服务器的,目录是/opt
进入目录
cd /opt
解压压缩包
tar -zxvf openssl-3.2.0.tar.gz
进入目录
cd /opt/openssl-3.2.0
在编译前配置OpenSSL
./config --prefix=/opt/openssl --openssldir=/usr/local/openssl
报错了
缺少perl软件包IPC::Cmd,通过以下命令安装
yum install perl-IPC-Cmd
再次配置,成功了
编译
make && make install
通过命令查看旧版本openssl路径
whereis openssl
情况一
备份老版本
mv /usr/bin/openssl /usr/bin/openssl.bak
用新编译的版本替换旧版本
ln -sf /opt/openssl/bin/openssl /usr/bin/openssl
情况二(12月28日更新)
备份老版本
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
用新编译的版本替换旧版本
ln -sf /opt/openssl/bin/openssl /usr/bin/openssl
ln -s /opt/openssl/include/openssl /usr/include/openssl
情况三(12月29日更新)
不废话,直接放图
这台服务器之前升级过一次openssl,默认调用的路径变了
简单描述就是这个系统默认调用/usr/local/bin/openssl 也要替换
ln -sf /opt/openssl/bin/openssl /usr/local/bin/openssl
ps:我这次有十几台服务器要升级,后续遇到其他问题继续更新
查看openssl版本,又报错了
链接缺少的组件
ln -s /opt/openssl/lib64/libssl.so.3 /usr/lib64/libssl.so.3
ln -s /opt/openssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3
查看版本
openssl version
成功了