如何从内存中删除 GPG 私钥?

如何从内存中删除 GPG 私钥?

当我执行以下操作时:

gpg --decrypt somefile.pgp

我看到出现一个图形对话框,要求我输入私人 GPG 密钥的密码。

此后,后续运行不需要密码,因为它们似乎使用内存 GPG 代理中的 GPG 密钥。

我如何清除该 GPG 代理的所有密钥?我不喜欢它们无用地滞留在内存中。

答案1

man gpg-agent给你:

   --default-cache-ttl n
          Set the time a cache entry is valid to n seconds.  The default is 600 seconds.

要么修改启动 gpg-agent 的方式并添加具有更短生存时间的参数,要么根本不启动 gpg-agent。

编辑

您需要弄清楚到底是哪个程序要求您输入密码。到目前为止,很明显它不是 gpg-agent,也不是 seahorse。

打开窗口并运行wmctrl -lp | grep "The Window Title, Case Sensitive"。你应该看到如下一行:

0x03e0000c  0 2580   <your_host_name>  The Window Title

第三个数字是进程 ID。运行cat /proc/2580/cmdline(将 2580 替换为实际进程 ID),您将看到要求您输入密码的程序文件以及任何参数。然后您可以查找该文件并查看可以采取什么措施。卸载它当然是一种选择。

相关内容