如何备份GPG?

jld*_*ont 40 backup disaster-recovery gpg

我需要从 GPG 备份哪些关键文件?我想我的私钥当然有资格,但还有什么?

hul*_*ist 42

最关键的是你的秘密/私钥:

gpg --export-secret-keys > secret-backup.gpg
Run Code Online (Sandbox Code Playgroud)

secret-backup.gpg就是用来保证安全的文件。

否则 ~/.gnupg/ 目录包含所有私钥和公钥(分别为 secring.gpg 和 pubring.gpg)以及配置和 trustdb,它们可以方便地存储。

  • 如果公钥丢失了,私钥就没有用了吗? (2认同)
  • @Buttons840 公钥是私钥的子集,因此您应该能够从私钥中提取公钥。 (2认同)
  • 最新版本的 GnuPG 没有 pubring.gpg,但 pubring.kbx 和私钥位于单独的目录中。 (2认同)

ser*_*hei 11

没有什么特别的。让我们假设your@id.here是您的 ID。:

导出密钥和所有者信任:

gpg --export --armor your@id.here > your@id.here.pub.asc
gpg --export-secret-keys --armor your@id.here > your@id.here.priv.asc
gpg --export-secret-subkeys --armor your@id.here > your@id.here.sub_priv.asc
gpg --export-ownertrust > ownertrust.txt
Run Code Online (Sandbox Code Playgroud)

导入密钥和所有者信任:

gpg --import your@id.here.pub.asc
gpg --import your@id.here.priv.asc
gpg --import your@id.here.sub_priv.asc
gpg --import-ownertrust ownertrust.txt
Run Code Online (Sandbox Code Playgroud)

最终信任导入的密钥:

gpg --edit-key your@id.here
gpg> trust
Your decision? 5 (Ultimate trust)
Run Code Online (Sandbox Code Playgroud)


Fir*_*tin 11

除了 @serghei 的答案之外,请检查gnupg 的文档。它说你应该备份:

  • ~/.gnupg/gpg.conf(标准配置文件)
  • ~/.gnupg/pubring.gpg(旧版公钥环)
  • ~/.gnupg/pubring.kbx(使用密钥箱格式的新公钥环)
  • ~/.gnupg/openpgp-revocs.d/(撤销证书)

它还建议备份所有者信任

gpg --export-ownertrust > otrust.txt
Run Code Online (Sandbox Code Playgroud)

当然,您也应该备份您的密钥。如果我理解正确,最快的方法是备份除吊销证书之外的tar整个内容。您可以考虑将吊销证书打印为 QR 码 ( ),或者使用该实用程序打印密钥(请参阅参考资料)。请记住,如果您将私钥和吊销证书保存在一台设备中,攻击者就可以吊销您的公钥并冒充您颁发一个新的公钥~/.gnupg ~/.gnupg/openpgp-revocs.d/qrencodepaperkey

参考GnuPG 高级简介,Neal H. Walfiel第 6.3.8 节(创建备份)。


use*_*686 10

最简单的方法是获取整个 GnuPG 目录 - 通常~/.gnupg/,它包含您拥有的所有私钥,以及公钥和其他有用数据(trustdb 等)