有时候我可能想使用别人的gpg键发送消息,但不需要再次使用该密钥。
在这种情况下导入密钥似乎没有必要。
我已经search,但无法find任何暗示这是可能的。 每次必须执行删除键有点麻烦。
您可以制作一个小型shell脚本来复制pubring.gpg文件,导入密钥,encryption文件,然后将原始的pubring.gpg文件移回原位。 这下一次将它变成一行。
#!/bin/sh cp -a ~/.gnupg/pubring.gpg ~/.gnupg/pubring.gpg-backup gpg ... # Command to import gpg ... # Command to encrypt message/file mv ~/.gnupg/pubring.gpg-backup ~/.gnupg/pubring.gpg
注意:脚本的参数是variables“$ 1”,“$ 2”,…
GnuPG要求您要使用的所有密钥都要导入到密钥环中。
如果你不想将它导入到普通的密钥环中,可以使用另一个(临时的)密钥环,或者甚至临时的GnuPG主目录(它也会绕过任何configuration)。
设置--primary-keyring temporary.gpg以使用(并在必要时创build)作为默认的临时密钥环。 它将在你的GnuPG主目录中创build(默认为~/.gnupg/temporary.gpg )。 你正常的钥匙圈仍然可用,但import将转到临时钥匙。 删除它,如你所愿。
例如:
gpg --primary-keyring temporary.gpg --import key.asc gpg --primary-keyring temporary.gpg --recipient 0xDEADBEEF --encrypt rm ~/.gnupg/temporary.gpg # can be omitted, not loaded by default
这也将重置所有的configuration,并可能有助于testing一些东西。 设置--homedir [folder]或环境variables$GNUPGHOME ,导入密钥,执行任何操作,然后删除该文件夹,如你所愿。
例如:
export GNUPGHOME=/tmp/gnupg # Or apply --homedir on each invocation gpg --import key.asc gpg --recipient 0xDEADBEEF --encrypt rm -r $GNUPGHOME # Can be omitted unset $GNUPGHOME
GnuPG在权限方面非常挑剔,在执行所有操作之前,可能需要对$GNUPGHOME文件夹应用更严格的权限。 可能是一个select保持一些操场 – $GNUPGHOME左右。