我试过了:
- 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.conf
和SIGHUP
信号做出响应。 - 最后要注意的是,禁用 Gnome Keyring 的 SSH 组件也是明智之举,因为:
- 你可能也不希望你的 SSH 密钥在整个会话期间都处于解锁状态,因此可能需要使用/配置
ssh-agent
或gpg-agent
- 您的自动启动配置可能
gpg-agent
已经包含 SSH 支持(Ubuntu 13.04 中的默认配置就是如此)
- 你可能也不希望你的 SSH 密钥在整个会话期间都处于解锁状态,因此可能需要使用/配置
答案4
gpgconf --reload gpg-agent
这对我有用...希望这能回答你的问题。