使用 gpg 命令导入多个 OpenPGP 密钥

使用 gpg 命令导入多个 OpenPGP 密钥

有没有办法以非交互方式查找和批量导入公共密钥服务器上的 gpg 密钥列表?

我在一家公司的 IT 部门工作,想使用一个命令导入与我们的域相关联的所有电子邮件地址的公钥,而不需要一次选择每个密钥。

我已经能够使用 gpg 命令查找密钥并一次导入一个:

gpg --keyserver pgp.mit.edu --search-keys '@domain.com'

显然,用我们的域名替换“domain.com”。密钥服务器加载所有密钥后,我可以通过输入“1、2、3、...”来选择多个密钥。有点乏味,但还不错。

我还没有找到将它们全部导入的方法,或者是否可能。

我查看了 gpg 手册页以获取更多信息,但找不到任何可以完全按照我的要求执行的标志。我尝试将上述命令与--receive-keys标志结合使用,但是,似乎需要指定密钥 ID 才能接收它们。这又导致需要一次导入一个密钥。

我突然想到,也许 gpg 没有一种批量导入机制来采取安全预防措施,这在某种程度上是合理的。如果是这样的话,我完全理解,但我没有找到任何相关记录。

答案1

没有办法搜索同时获取多个密钥,但无论如何你都不应该基于 UID 获取密钥!密钥服务器不执行任何类型的身份验证,只需在密钥服务器中搜索[email protected]举个例子。功能上的“缺乏”可能就是故意为之,目的就是为了防止这种情况发生。

反而,使用钥匙的指纹通过维护部门密钥指纹列表并使用它gpg --recv-keys从您选择的密钥服务器获取它们来访问易于验证的密钥。或者简单地从文件中导入密钥。如果您正在寻找无人值守的解决方案,那么您显然已经拥有适当的配置管理/编排系统。

同时,您还应该考虑建立一些“证书颁发机构”系统(例如,在所有计算机上受信任并用于在各个密钥上颁发证书的部门密钥),这样您就可以实际使用导入的密钥。

相关内容