openssl版本升级
OpenSSL 3.2 and later features support for the QUIC transport protocol.
OpenSSL 3.2 及更高版本支持 QUIC 传输协议。
如果升级的系统中openssl版本是3.x.x,需要同步升级openssh,否者sshd服务无法启动
1、查看openssl版本
[root@host ~]# openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
2、安装编译环境
centos
yum install -y libtool perl-core zlib-devel perl-IPC-Cmd
debian
apt install -y make gcc curl libgd-dev
3、下载指定版本的openssl软件
OpenSSL官网地址:https://www.openssl.org/source/
这里下载 openssl-3.2.1 版本
mkdir /usr/local/src/openssl/ -p
curl https://www.openssl.org/source/openssl-3.2.1.tar.gz -o /usr/local/src/openssl/openssl-3.2.1.tar.gz
4、编译安装
解压
cd /usr/local/src/openssl/
tar zxf openssl-3.2.1.tar.gz -C /usr/local/src/openssl/
编译
cd openssl-3.2.1/
./config \
--libdir=lib \
--prefix=/usr/local/openssl/openssl3 \
--openssldir=/usr/local/openssl/openssl3
make -j2 && make install
参数解释:
--openssldir=/usr/local/openssl/openssl3 安装目录,默认:/usr/local/ssl
--prefix=PREFIX 设置 lib、include、bin 目录,默认:/usr/local/ssl
--libdir=lib 设置lib存放目录,默认:/path/lib64
shared/no-shared 是否生成动态连接库。
备份旧版本
mkdir -p /usr/local/openssl/backup_$(date +%Y%m%d)
mv /usr/bin/openssl{,.$(date +%Y%m%d)}
mv /usr/include/openssl{,.$(date +%Y%m%d)}
cp /lib/x86_64-linux-gnu/libssl.so.3 /usr/local/openssl/backup_$(date +%Y%m%d)/
cp /lib/x86_64-linux-gnu/libcrypto.so.3 /usr/local/openssl/backup_$(date +%Y%m%d)/
添加新的openssl软链接
ln -s /usr/local/openssl/openssl3/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/openssl3/include/openssl /usr/local/include/openssl
ln -s /usr/local/openssl/openssl3/lib/libssl.so.3 /usr/lib/libssl.so.3
ln -s /usr/local/openssl/openssl3/lib/libcrypto.so.3 /usr/lib/libcrypto.so.3
将新的库文件地址写入记录so库的配置文件(不用)
echo "/usr/local/openssl/openssl3/lib/" >> /etc/ld.so.conf.d/openssl.conf
设置生效
载入配置
ldconfig
查看配置
ldconfig -v
测试
openssl version
OpenSSL 3.2.1 23 Nov 2023 (Library: OpenSSL 3.2.1 23 Nov 2023)
最后强调
如果系统是openssl 3.0.x ,这样升级后,openssh就不能使用,需要按照另一篇文章对openssh升级