如何清除缓存的gpg密码?


28

我试过了:

  • SIGHUP方法->不成功
  • gpg-agent.conf中的缓存超时->似乎未读取此文件,另外我在gpg.conf中有'use-agent'行

我该怎么办 ?


Ubuntu中的默认GPG代理是Seahorse。AFAIK,Seahorse不读取任何gpg-agent.conf文件。所以我想问:您的GPG代理商是什么?您确定配置正确吗?您要在哪里发送SIGHUP?
Andrea Corbellini

@AndreaCorbellini我指的是gpg-agent的密码代理,我不知道它是否配置正确,因为我不知道正确配置的gpg-agent到底意味着什么...最后我要发送SIGHUP使用“ pkill -SIGHUP gpg-agent”
Thomas Produit

2
以下使用的建议答案gpg-connect-agent确实确实适用于海马(至少对我而言适用于14.04),而不仅仅是gpg-agent。这意味着在不禁gnome-keyring用的情况下,您应该可以立即使用它。
格雷格

Answers:


9

首先让我说我有完全相同的问题...


即使您的GPG机密正在gpg-agent运行,您的GPG机密也可能正在处理。该答案提供了有关可用选项的一些详细信息。

另一种方法是禁用Gnome密钥环的GPG组件,因此gpg-agent可以使用:

  • 您可以通过删除(或重命名*.desktop)文件来做到这一点/etc/xdg/autostart/gnome-keyring-gpg.desktop
  • 您可能已经具有gpg-agent自动启动所需的设置。至少对我来说,运行Ubuntu 13.04,这是真的。但是,如果需要,请参考此帖子以获取有关如何配置它的一些信息。
  • 在注销并重新启动后,Just gpg-agent应该正在运行,并且它确实会响应设置~/.gnupg/gpg-agent.confSIGHUP信号。
  • 最后,最好禁用Gnome Keyring的SSH组件,因为:
    • 您可能也不想在整个会话中都解锁SSH密钥,并且可能想要使用/配置ssh-agentgpg-agent
    • 您的gpg-agent自动启动配置可能已经包含SSH支持(Ubuntu 13.04中的默认配置支持)

我正在努力解决这个问题。在Ubuntu 18.04下,该gnome-keyring-gpg.desktop文件不存在。
Linter

39

对于真正使用gpg-agent的用户,您可以通过以下方式忘记密码:

echo RELOADAGENT | gpg-connect-agent

2
谢谢!这也很好用gnome-keyring-daemon(在14.04上)-我到处寻找一个简单的“忘记”了!
格雷格

我懂了ERR 103 unknown command
zondo

1
非常感谢您这个简单有效的“忘记”工具。上面讨论的所有有关如何管理gpg密码的缓存的方法都遗漏了一个根本要点,那就是我们永远不应该首先缓存密码。
elmclose

这实际上在Windows上帮助了我。谢谢。
保罗·威廉姆斯

17

GPG:在一个命令中:

gpg-connect-agent reloadagent /bye

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

ssh-add -D    #delete identities
ssh-agent -k  #kill ssh-agent
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.