我正在尝试通过将 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