我如何清除缓存的 gpg 密码?

我如何清除缓存的 gpg 密码?

我试过了:

  • SIGHUP 方法 --> 没有成功
  • gpg-agent.conf 中的缓存超时 --> 似乎该文件未被读取,尽管我在 gpg.conf 中有“use-agent”行

我应该怎么办 ?

答案1

对于那些真正使用 gpg-agent 的人来说,你可以使用以下命令忘记密码:

echo RELOADAGENT | gpg-connect-agent

答案2

通用石油气:在单个命令中:

gpg-connect-agent reloadagent /bye

SSH:对于 ssh 代理你可能需要这两个:

ssh-add -D    #delete identities
ssh-agent -k  #kill ssh-agent

答案3

首先我要说的是,我也遇到了完全相同的问题……


您的 GPG 机密可能正在由 Gnome Keyring 处理,即使gpg-agent它正在运行。这个答案提供了一些可用选项的详细信息。

另一种方法是禁用 Gnome Keyring 的 GPG 组件,这样gpg-agent使用:

  • *.desktop您可以通过删除文件(或将其重命名为其他名称)来实现这一点/etc/xdg/autostart/gnome-keyring-gpg.desktop
  • 您可能已经拥有gpg-agent自动启动所需的设置。至少对于运行 Ubuntu 13.04 的我来说,确实如此。但是,如果您需要,请参阅这个帖子了解有关如何配置它的一些信息。
  • 注销并再次登录后,它应该gpg-agent可以运行,并且它会对设置~/.gnupg/gpg-agent.confSIGHUP信号做出响应。
  • 最后要注意的是,禁用 Gnome Keyring 的 SSH 组件也是明智之举,因为:
    • 你可能也不希望你的 SSH 密钥在整个会话期间都处于解锁状态,因此可能需要使用/配置ssh-agentgpg-agent
    • 您的自动启动配置可能gpg-agent已经包含 SSH 支持(Ubuntu 13.04 中的默认配置就是如此)

答案4

gpgconf --reload gpg-agent

这对我有用...希望这能回答你的问题。

相关内容