linux

OpenSSL在Linux下的安装步骤

小樊
68
2025-09-19 03:47:37
栏目: 云计算

一、使用包管理器安装(推荐普通用户使用)

包管理器安装是最便捷的方式,适用于大多数日常场景,无需手动编译,系统会自动处理依赖关系。

1. Debian/Ubuntu及其衍生版本(如Linux Mint)

# 更新软件包列表
sudo apt update
# 安装OpenSSL及开发库(开发库包含头文件,用于编译依赖OpenSSL的程序)
sudo apt install openssl libssl-dev

2. Red Hat/CentOS/Fedora

# CentOS/RHEL 7及以下使用yum,8及以上使用dnf
if command -v dnf &> /dev/null; then
    sudo dnf install openssl openssl-devel
else
    sudo yum install openssl openssl-devel
fi

3. Arch Linux/Manjaro

# 更新软件包数据库并同步
sudo pacman -Syu
# 安装OpenSSL
sudo pacman -S openssl

4. openSUSE

# 更新软件包列表
sudo zypper refresh
# 安装OpenSSL
sudo zypper install openssl openssl-devel

验证安装
安装完成后,运行以下命令检查版本,确认安装成功:

openssl version
# 正常输出示例:OpenSSL 3.0.13 30 Jan 2024

二、从源代码编译安装(适用于需要特定版本或自定义配置的场景)

若系统包管理器提供的OpenSSL版本过旧,或需要启用额外功能(如特定加密算法),可选择源码编译安装。

1. 准备工作:安装编译依赖

# Debian/Ubuntu
sudo apt install build-essential checkinstall zlib1g-dev -y

# CentOS/RHEL
sudo yum groupinstall "Development Tools" -y
sudo yum install gcc gcc-c++ make zlib zlib-devel perl-core -y

# Fedora
sudo dnf groupinstall "Development Tools" -y
sudo dnf install gcc gcc-c++ make zlib zlib-devel perl-core -y

2. 下载并解压OpenSSL源码

访问OpenSSL官网(https://www.openssl.org/source/)下载所需版本(如3.0.13),然后解压:

# 替换版本号为所需版本(如3.0.13)
VERSION=3.0.13
wget https://www.openssl.org/source/openssl-$VERSION.tar.gz
tar -xzvf openssl-$VERSION.tar.gz
cd openssl-$VERSION

3. 配置编译选项

# 指定安装路径(避免与系统版本冲突),启用共享库和zlib压缩
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib
# 查看配置是否正确(可选)
cat Makefile | grep prefix

4. 编译并安装

# 编译(-j参数指定并行编译线程数,加速过程,如-j4表示4线程)
make -j$(nproc)
# 安装(需root权限)
sudo make install

5. 配置系统环境

# 备份原有openssl二进制文件(可选,防止冲突)
sudo mv /usr/bin/openssl /usr/bin/openssl.bak
# 添加新版本路径到环境变量
echo 'export PATH=/usr/local/openssl/bin:$PATH' | sudo tee /etc/profile.d/openssl.sh
echo 'export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATH' | sudo tee -a /etc/profile.d/openssl.sh
# 使环境变量生效
source /etc/profile.d/openssl.sh
# 更新动态链接库缓存
echo "/usr/local/openssl/lib" | sudo tee /etc/ld.so.conf.d/openssl.conf
sudo ldconfig

6. 验证安装

# 检查版本,确认使用新安装的版本
openssl version
# 输出应包含自定义安装路径(如/usr/local/openssl)

三、后续配置(可选,用于HTTPS服务)

若需使用OpenSSL生成自签名证书或配置Web服务器(如Nginx、Apache),可参考以下步骤:

1. 生成自签名证书(有效期365天)

# 创建证书目录
mkdir -p ~/ssl_certs
# 生成私钥(2048位RSA)和自签名证书
openssl req -x509 -newkey rsa:2048 -keyout ~/ssl_certs/private.key -out ~/ssl_certs/certificate.crt -days 365 -nodes
# 输入证书信息(如国家、组织、域名等,Common Name需与网站域名一致)

2. 配置Nginx HTTPS(示例)

编辑Nginx配置文件(如/etc/nginx/sites-available/default),添加以下内容:

server {
    listen 443 ssl;
    server_name yourdomain.com;  # 替换为实际域名
    ssl_certificate /home/youruser/ssl_certs/certificate.crt;  # 证书路径
    ssl_certificate_key /home/youruser/ssl_certs/private.key;  # 私钥路径
    ssl_protocols TLSv1.2 TLSv1.3;  # 启用TLS 1.2及以上协议
    ssl_ciphers HIGH:!aNULL:!MD5;  # 使用强加密套件
    # 其他配置(如root、index等)
}
# 重启Nginx使配置生效
sudo systemctl restart nginx

注意事项

0
看了该问题的人还看了