popyone
发布于 2024-02-04 / 40 阅读
0
0

openssl版本升级(3.2.1)

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升级


评论