温馨提示×

linux openssl怎样配密钥

小樊
32
2026-09-16 18:02:13
栏目: 云计算

在 Linux 下使用 OpenSSL 配置(生成和管理)密钥,通常用于 SSH、HTTPS(TLS/SSL)、签名、加密 等场景。下面按常见用途给你一份实用指南。


一、生成私钥和公钥(通用)

1️⃣ 生成 RSA 私钥(2048 位,常用)

openssl genrsa -out private.key 2048

2️⃣ 从私钥提取公钥

openssl rsa -in private.key -pubout -out public.key

✅ 此时你拥有:

  • private.key:私钥(保密)
  • public.key:公钥(可分发)

二、生成自签名证书(HTTPS / TLS)

常用于本地测试或内部服务。

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

参数说明:

  • -nodes:不加密私钥
  • -days 365:有效期
  • 会交互输入:
    • Country
    • Organization
    • Common Name(域名或 IP)

生成文件:

  • key.pem:私钥
  • cert.pem:证书

三、生成证书签名请求(CSR,用于 CA 签名)

1️⃣ 生成私钥 + CSR

openssl req -new -newkey rsa:2048 -nodes \
-keyout domain.key -out domain.csr

2️⃣ 用 CSR 向 CA 申请证书(或自建 CA)


四、加密 / 解密私钥(增强安全)

加密私钥

openssl rsa -aes256 -in private.key -out private_enc.key

解密私钥

openssl rsa -in private_enc.key -out private.key

五、查看密钥 / 证书信息

查看私钥

openssl rsa -in private.key -text -noout

查看证书

openssl x509 -in cert.pem -text -noout

查看 CSR

openssl req -in domain.csr -text -noout

六、SSH 场景(不是 OpenSSL,但常混淆)

如果是 SSH 登录

ssh-keygen -t rsa -b 4096

生成:

  • ~/.ssh/id_rsa
  • ~/.ssh/id_rsa.pub

⚠️ SSH 不用 OpenSSL 直接配,但底层算法类似。


七、常见权限设置(重要)

chmod 600 private.key
chmod 644 public.key

八、典型用途对照表

场景 推荐命令
HTTPS 自签 / CSR
数据加密 RSA 公钥加密
签名 RSA / ECDSA
SSH ssh-keygen
内部 CA OpenSSL CA

如果你能告诉我:

  • ✅ 是用于 HTTPS / SSH / 加密文件 / 签名
  • ✅ 是否要 自签名还是 CA 签发

我可以直接给你完整可复制的配置方案

0