温馨提示×

linux openssl怎样备份密钥

小樊
39
2026-09-04 16:48:38
栏目: 云计算

在 Linux 下使用 OpenSSL 时,“备份密钥”通常指备份私钥、证书、以及相关的配置文件。下面按常见场景给你一套实用做法。


一、备份 OpenSSL 私钥(最重要)

1. 找到私钥文件

常见位置:

/etc/ssl/private/
/etc/pki/tls/private/
/home/user/ssl/

私钥通常类似:

server.key
private.key

2. 复制备份(基础方式)

cp server.key server.key.bak

3. 打包加密备份(推荐)

tar czf ssl-backup.tar.gz server.key server.crt

加密备份(安全)

tar czf - server.key server.crt | openssl enc -aes-256-cbc -out ssl-backup.tar.gz.enc

恢复:

openssl enc -d -aes-256-cbc -in ssl-backup.tar.gz.enc | tar xz

二、备份证书(公钥)

cp server.crt server.crt.bak

如果是 CA 签发:

cp ca.crt ca.crt.bak

三、备份 CSR(申请文件,可选)

cp server.csr server.csr.bak

四、备份 OpenSSL 配置文件(容易被忽略)

cp /etc/ssl/openssl.cnf /etc/ssl/openssl.cnf.bak

五、使用 OpenSSL 导出 PKCS#12(适合证书+私钥一起备份)

openssl pkcs12 -export \
  -in server.crt \
  -inkey server.key \
  -out backup.pfx

恢复:

openssl pkcs12 -in backup.pfx -out restored.pem -nodes

六、备份权限与归属(非常重要)

私钥通常权限是:

chmod 600 server.key
chown root:root server.key

备份后也要保持一致。


七、离线 & 安全建议(强烈推荐)

✅ 备份到:

  • U 盘
  • 加密硬盘
  • 内部备份服务器

❌ 不要:

  • 放到公网目录
  • 用明文存到 Git

八、一键备份脚本示例

#!/bin/bash
DATE=$(date +%F)
mkdir -p /backup/ssl-$DATE
cp /etc/ssl/private/*.key /backup/ssl-$DATE/
cp /etc/ssl/certs/*.crt /backup/ssl-$DATE/
tar czf /backup/ssl-$DATE.tar.gz /backup/ssl-$DATE

如果你能告诉我:

  • 自签证书 / Let’s Encrypt / 商业 CA
  • 用在 Nginx / Apache / 其他服务

我可以给你更精确的备份方案

0