温馨提示×

怎样配置linux openssl

小樊
49
2026-10-16 06:42:30
栏目: 云计算

在 Linux 上“配置 OpenSSL”可以有几种不同含义,下面我按最常见场景给你一份清晰指南,你可以按需查看。


一、安装 OpenSSL(基础)

1. Debian / Ubuntu

sudo apt update
sudo apt install openssl libssl-dev

2. CentOS / Rocky / Alma

sudo yum install openssl openssl-devel
# 或
sudo dnf install openssl openssl-devel

3. 查看版本

openssl version

二、配置 OpenSSL 环境变量(可选)

如果你自己编译了 OpenSSL(非系统自带):

export PATH=/usr/local/openssl/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATH

写入环境变量(永久生效):

echo 'export PATH=/usr/local/openssl/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

三、生成证书(最常见用途)

1. 生成私钥

openssl genrsa -out server.key 2048

2. 生成 CSR(证书请求)

openssl req -new -key server.key -out server.csr

3. 自签证书(测试用)

openssl x509 -req -days 365 \
  -in server.csr \
  -signkey server.key \
  -out server.crt

四、配置 OpenSSL 配置文件(openssl.cnf)

常见路径:

/etc/ssl/openssl.cnf

示例修改(支持 SAN):

[ req ]
distinguished_name = req_distinguished_name
x509_extensions = v3_req
req_extensions = v3_req

[ v3_req ]
subjectAltName = @alt_names

[ alt_names ]
DNS.1 = example.com
DNS.2 = www.example.com

生成带 SAN 的证书:

openssl req -new -key server.key -out server.csr -config /etc/ssl/openssl.cnf

五、在 Nginx / Apache 中使用 OpenSSL

Nginx 示例

ssl_certificate     /path/server.crt;
ssl_certificate_key /path/server.key;

六、编译安装 OpenSSL(高级)

wget https://www.openssl.org/source/openssl-3.0.13.tar.gz
tar -xzf openssl-3.0.13.tar.gz
cd openssl-3.0.13

./config --prefix=/usr/local/openssl
make
sudo make install

七、常见排错

  • 命令找不到 → 检查 PATH
  • 库文件错误 → 检查 LD_LIBRARY_PATH
  • 版本太老 → 系统 OpenSSL 不建议强删,建议并行安装

如果你能具体说明:

  • ✅ 是 安装 / 编译 / 证书 / 服务配置 哪一类?
  • ✅ 使用的 Linux 发行版?
  • ✅ 是否用于 HTTPS / 内网 / 开发测试?

我可以直接给你精确配置步骤。

0 踩