温馨提示×

linux openssl怎么配置

小樊
46
2026-07-29 09:04:14
栏目: 云计算

在 Linux 上配置 OpenSSL 通常涉及 安装、生成证书、配置服务(如 Nginx/Apache),下面按常见场景给你一个完整说明。


一、检查与安装 OpenSSL

1️⃣ 查看是否已安装

openssl version

2️⃣ 安装 OpenSSL(如未安装)

Ubuntu / Debian

sudo apt update
sudo apt install openssl libssl-dev

CentOS / Rocky / Alma

sudo yum install openssl openssl-devel

Arch

sudo pacman -S openssl

二、生成自签名 SSL 证书(最常见)

1️⃣ 创建证书目录

mkdir -p /etc/ssl/mycert
cd /etc/ssl/mycert

2️⃣ 生成私钥

openssl genrsa -out server.key 2048

3️⃣ 生成证书签名请求(CSR)

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

填写示例:

Country Name: CN
State: Beijing
Organization Name: MyCompany
Common Name: example.com

4️⃣ 生成自签名证书(有效期 365 天)

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

✅ 得到:

  • server.key(私钥)
  • server.crt(证书)

三、配置 OpenSSL 配置文件(可选)

OpenSSL 主配置文件一般在:

/etc/ssl/openssl.cnf

常见修改项

[ req ]
default_bits = 2048
default_md = sha256

⚠️ 不建议随意修改,除非你明确知道用途。


四、查看证书信息

openssl x509 -in server.crt -text -noout

查看私钥信息:

openssl rsa -in server.key -check

五、在 Web 服务中使用(示例)

✅ Nginx 配置

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate /etc/ssl/mycert/server.crt;
    ssl_certificate_key /etc/ssl/mycert/server.key;

    ssl_protocols TLSv1.2 TLSv1.3;
}

✅ Apache 配置

<VirtualHost *:443>
    SSLEngine on
    SSLCertificateFile /etc/ssl/mycert/server.crt
    SSLCertificateKeyFile /etc/ssl/mycert/server.key
</VirtualHost>

六、生成 Let’s Encrypt 证书(生产推荐)

sudo apt install certbot
sudo certbot certonly --standalone -d example.com

证书路径:

/etc/letsencrypt/live/example.com/

七、常见问题

❓ 证书不受信任?

  • 自签名证书浏览器会提示
  • 生产环境请使用 Let’s Encrypt

❓ 私钥权限问题?

chmod 600 server.key

八、我可以进一步帮你

你可以告诉我:

  • ✅ 是 Nginx / Apache / 其他服务
  • ✅ 是 本地测试 / 生产环境
  • ✅ 是否需要 多域名 / 通配符证书

我可以直接给你完整可用配置

0