Debian12,Linux 0

    Debian12 OpenSSL3.5.2 编译安装

    输入指令查看当前版本

    openssl version -a

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

    sudo apt update
    sudo apt upgrade

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

    安装编译环境

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

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

    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

    设置编译参数

    ./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 压缩支持

    开始编译

    make -j$(nproc) && make install

    添加软链接

    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

    载入并查看配置

    ldconfig
    ldconfig -v

    检查当前版本

    openssl version -a

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

    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,修改后应该是

    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

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

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