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

如何将私钥导入 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及类似内容)的解决方案都将受到赞赏。

答案1

要更改 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) <[email protected]>
ssb   4096R/31337313 2011-01-01

sec   4096R/12345678 2013-04-23 [expires: 2014-01-01]
uid                  Gert van Dijk (2nd key) <[email protected]>
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) <[email protected]>:::

并添加一行~/.gnupg/gpg.conf

default-key ABCDEFAB12345678

相关内容