运维

Debian12 OpenSSL3.5.2 编译安装

·6 分钟阅读·更新于 今天

留意时间

本文发布已超过 365 天,部分内容可能已经过时,请结合最新资料判断。

输入指令查看当前版本

bashbash
openssl version -a

在编译更高版本的 OpenSSL 前需要先检查 OpenSSH 是否需要更新

bashbash
sudo apt update
sudo apt upgrade

如果有新版本则需要更新,否则将 OpenSSL 更新后可能 OpenSSH 会无法使用。

将旧版本卸载

bashbash
sudo apt remove openssl

建议在纯净的环境下进行,以免链接的动态库失效

安装编译环境

bashbash
sudo apt install -y make gcc curl libgd-dev zlib1g-dev

下载软件包并解压,其他版本下载Downloads | OpenSSL Library

bashbash
cd /usr/local/src/
wget https://github.com/openssl/openssl/releases/download/openssl-3.5.2/openssl-3.5.2.tar.gz
tar zxf openssl-3.5.2.tar.gz && cd openssl-3.5.2

设置编译参数

bashbash
./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib

--prefix= 设置 lib、include、bin 目录,默认:/usr/local/ssl --openssldir= 产品安装目录,默认:/usr/local/ssl --libdir= 设置lib存放目录,默认:/path/lib64 shared/no-shared 是否生成动态连接库 zlib 启用 zlib 压缩支持

开始编译

bashbash
make -j$(nproc) && make install

添加软链接

bashbash
ln -s /usr/local/ssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/local/include/openssl
ln -s /usr/local/ssl/lib64/libssl.so.3 /usr/lib/libssl.so.3
ln -s /usr/local/ssl/lib64/libcrypto.so.3 /usr/lib/libcrypto.so.3

载入并查看配置

bashbash
ldconfig
ldconfig -v

检查当前版本

bashbash
openssl version -a

如果没有生效则尝试编辑 /etc/profile,将

texttext
if [ "$(id -u)" -eq 0 ]; then
  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
else
  PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
fi
export PATH

中 else 后的 PATH 赋值字符串的末尾加上 :/usr/local/ssl/bin,修改后应该是

texttext
if [ "$(id -u)" -eq 0 ]; then
  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
else
  PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/ssl/bin"
fi
export PATH

重复载入并查看配置,再检查版本。

如果出现以下错误

texttext
openssl: /lib/x86_64-linux-gnu/libssl.so.3: version `OPENSSL_3.4.0' not found (required by openssl)
openssl: /lib/x86_64-linux-gnu/libssl.so.3: version `OPENSSL_3.2.0' not found (required by openssl)
openssl: /lib/x86_64-linux-gnu/libcrypto.so.3: version `OPENSSL_3.3.0' not found (required by openssl)
openssl: /lib/x86_64-linux-gnu/libcrypto.so.3: version `OPENSSL_3.5.0' not found (required by openssl)
openssl: /lib/x86_64-linux-gnu/libcrypto.so.3: version `OPENSSL_3.4.0' not found (required by openssl)
openssl: /lib/x86_64-linux-gnu/libcrypto.so.3: version `OPENSSL_3.2.0' not found (required by openssl)

可以尝试将原本的库删除。

bashbash
rm /lib/x86_64-linux-gnu/libssl.so.3
rm /lib/x86_64-linux-gnu/libcrypto.so.3

参考地址: openssl版本升级(3.2.1)

Debian12 OpenSSL3.5.2 编译安装

作者
uxyz
发布时间
最后更新
2026年11月10日
许可协议
CC BY 4.0
https://blog.example.com/devops/debian-12-compile-openssl-3-5-2/

正在加载 GitHub 评论…

滚轮 / 双指缩放 · 拖动查看 · Esc 关闭