温馨提示×

debian如何生成openssl证书

小樊
66
2026-09-11 12:11:54
栏目: 云计算

在 Debian 系统上,使用 OpenSSL 生成证书通常有以下几种常见场景。下面按“最常用 → 进阶”的方式说明。


一、生成自签名证书(最常用)

适合测试、内网、本地开发。

1. 安装 OpenSSL

sudo apt update
sudo apt install openssl

2. 生成私钥 + 自签名证书(一步完成)

openssl req -x509 -newkey rsa:2048 -nodes \
  -keyout server.key \
  -out server.crt \
  -days 365

执行后会提示输入信息:

  • Country Name
  • State
  • Organization
  • Common Name(填域名或 IP,如 example.com 或 192.168.1.10)

生成文件:

  • server.key:私钥
  • server.crt:证书

二、标准方式(私钥 + CSR + 自签名)

更接近真实 CA 流程,推荐学习使用。

1. 生成私钥

openssl genrsa -out server.key 2048

2. 生成证书请求(CSR)

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

3. 自签名 CSR

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

三、生成证书时避免交互(非交互)

openssl req -x509 -newkey rsa:2048 -nodes \
  -keyout server.key \
  -out server.crt \
  -days 365 \
  -subj "/C=CN/ST=Beijing/L=Beijing/O=MyOrg/CN=example.com"

四、生成带 SAN(多域名 / IP)的证书

现代浏览器必须使用 SAN。

1. 创建配置文件 san.cnf

[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req

[req_distinguished_name]

[v3_req]
subjectAltName = @alt_names

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

2. 生成证书

openssl req -x509 -newkey rsa:2048 -nodes \
  -keyout server.key \
  -out server.crt \
  -days 365 \
  -config san.cnf

五、查看证书信息

openssl x509 -in server.crt -noout -text

六、常见用途示例

Nginx 使用

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

七、注意事项

  • server.key 必须保密
  • 自签名证书浏览器会报警,需手动信任
  • 生产环境建议使用:
    • Let’s Encrypt(certbot)
    • 内部 CA

如果你需要:

  • 搭建私有 CA
  • 生成通配符证书
  • Debian + Nginx / Apache 配置
  • Docker 中使用证书

可以告诉我具体场景,我可以直接给你完整命令。

0 踩