温馨提示×

ubuntu openssl如何导入密钥

小樊
48
2026-10-29 06:12:17
栏目: 云计算

在 Ubuntu 上,使用 OpenSSL 本身主要是生成/转换密钥,而“导入密钥”通常指把密钥:

  1. 导入到系统环境(如 /etc/ssl、~/.ssh)
  2. 导入到 OpenSSL 的信任库(CA 证书)
  3. 导入到密钥管理工具(如 openssl pkcs12、ssh-add、kms)

下面按常见场景说明。


一、导入私钥 / 公钥(直接使用)

1. 将私钥放到标准位置

sudo mkdir -p /etc/ssl/private
sudo cp mykey.key /etc/ssl/private/mykey.key
sudo chmod 600 /etc/ssl/private/mykey.key

2. 将公钥放到标准位置

sudo mkdir -p /etc/ssl/certs
sudo cp mykey.pub /etc/ssl/certs/mykey.pub

二、导入已有密钥到 OpenSSL(PEM 格式)

如果你已有密钥文件(如 key.pem):

openssl rsa -in key.pem -check

若成功,说明 OpenSSL 可直接使用。


三、导入 PKCS#12(.pfx / .p12)中的密钥

常用于 Web 服务器或客户端证书。

1. 从 p12 导出私钥

openssl pkcs12 -in cert.pfx -nocerts -out key.pem -nodes

2. 从 p12 导出证书

openssl pkcs12 -in cert.pfx -nokeys -out cert.pem

3. 合并为可直接使用的文件

cat cert.pem key.pem > fullchain.pem

四、导入 CA 证书到系统信任库(Ubuntu)

如果是 CA 证书(不是私钥):

sudo cp ca.crt /usr/local/share/ca-certificates/ca.crt
sudo update-ca-certificates

验证:

openssl verify -CAfile /etc/ssl/certs/ca-certificates.crt yourcert.crt

五、导入 SSH 密钥(OpenSSL → SSH)

OpenSSL 生成的密钥需转换:

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

转为 SSH 可用:

ssh-keygen -i -m PKCS8 -f key.pem > id_rsa
chmod 600 id_rsa

或直接使用:

ssh-add key.pem

六、查看 / 验证导入的密钥

openssl rsa -in key.pem -text -noout
openssl x509 -in cert.pem -text -noout

七、常见错误

  • ❌ 权限太开放 → chmod 600
  • ❌ 格式不对(DER vs PEM)
openssl rsa -inform DER -in key.der -out key.pem
  • ❌ 私钥和证书不匹配
openssl x509 -noout -modulus -in cert.pem | openssl md5
openssl rsa -noout -modulus -in key.pem | openssl md5

如果你能具体说明:

  • 是 私钥 / 证书 / CA
  • 用途(Nginx / SSH / 签名 / HTTPS)

我可以给你精确命令。

0 踩