当前位置: 首页>>技术教程>>正文


gnupg – 如何将私钥导入 GPG 以使其成为默认密钥?

问题描述

我试图通过将 GnuPG 密钥对导入每台机器来共享它。这就是我的做法:

gpg --allow-secret-key-import --import secret.gpg.key
gpg --import public.gpg.key

密钥已使用 -a 导出。

这样做之后,当我执行 gpg --list-keys 时,公钥会正确显示,但私钥不是( gpg --list-secret-keys )。

我究竟做错了什么?

顺便说一句:我正在用 Puppet 做这件事,所以任何不需要我输入内容(--edit-key 等)的解决方案都将不胜感激。

最佳思路

要更改 GnuPG 在签名/加密时选择的密钥的行为,请使用 default-key 配置参数和密钥 ID 作为值。

因此,例如,与

$ gpg --list-secret-keys 
/home/gert/.gnupg/secring.gpg
-----------------------------
sec   4096R/13371337 2011-01-01 [expires: 2014-01-01]
uid                  Gert van Dijk (1st key) <name@example.tld>
ssb   4096R/31337313 2011-01-01

sec   4096R/12345678 2013-04-23 [expires: 2014-01-01]
uid                  Gert van Dijk (2nd key) <name@example.tld>
ssb   4096R/87654321 2013-04-23

~/.gnupg/gpg.conf 中添加一行:

default-key 12345678

或者,或者,使用长密钥 ID(建议使用,因为短密钥 ID 可能会发生冲突):

$ gpg --list-secret-keys --with-colon
sec::4096:1:ABCDEFAB12345678:2013-01-01:2014-01-01:::Gert van Dijk (2nd key) <user@example.tld>:::

并在 ~/.gnupg/gpg.conf 中添加一行:

default-key ABCDEFAB12345678

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/12261.html,未经允许,请勿转载。