27

I've tried:

  • the SIGHUP method --> no succes
  • the cache timeout in gpg-agent.conf --> it seems that this file is not read, althougt I have the 'use-agent' line in gpg.conf

What should I do ?

  • The default GPG agent in Ubuntu is Seahorse. AFAIK, Seahorse does not read any gpg-agent.conf file. So I want to ask: what is your GPG agent? Are you sure it is confgured properly? Where are you sending SIGHUP? – Andrea Corbellini Sep 24 '13 at 21:43
  • @AndreaCorbellini I'm refering to the password agent which is gpg-agent and I don't know if it is properly configured because I don't know what properly configured exactly means for gpg-agent... Finally I'm sending SIGHUP using "pkill -SIGHUP gpg-agent" – Thomas Produit Sep 24 '13 at 21:51
  • 2
    The suggested answer below using gpg-connect-agent does indeed seem to work for seahorse (at least for me on 14.04), not just gpg-agent. This means that without disabling gnome-keyring you should be able to use it out of the box. – Greg Feb 5 '15 at 13:06
9

Let me begin by saying I had the exact same issue...


Your GPG secrets are probably being handled by the Gnome Keyring, even if gpg-agent is running. This answer provides some details on the available options for it.

Another way is to disable the GPG component of the Gnome Keyring, so that gpg-agent is used:

  • You can do this by removing (or renaming to something other than *.desktop) the file /etc/xdg/autostart/gnome-keyring-gpg.desktop.
  • It's possible you already have the necessary settings for gpg-agent to autostart. At least for me, running Ubuntu 13.04, that's true. However, if you need to, refer this post for some information on how to configure it.
  • After logging off and on again, just gpg-agent should be running, and it does respond both to settings in ~/.gnupg/gpg-agent.conf and to SIGHUP signals.
  • On a final note, it may be wise to also disable the SSH component of Gnome Keyring, since:
    • You probably also don't want your SSH keys unlocked for the whole session, and might want to use/configure ssh-agent or gpg-agent
    • It's possible that your configuration for gpg-agent autostart already includes SSH support (the default one in Ubuntu 13.04 does)
  • I'm struggling with this issue. Under Ubuntu 18.04 the gnome-keyring-gpg.desktop file does not exist. – Linter Aug 10 '18 at 13:58
40

for those really using gpg-agent, you can forget passphrases with:

echo RELOADAGENT | gpg-connect-agent
  • 2
    Thank you! That works just fine for gnome-keyring-daemon too (on 14.04) - I've looked everywhere to find a simple "forget"! – Greg Feb 5 '15 at 13:03
  • I get ERR 103 unknown command. – zondo Nov 13 '16 at 13:58
  • 1
    Thank you very much for this simple and effective "forget" tool. All the methods discussed above regarding how to manage caching of gpg passwords misses the fundamental point that we should never ever allow passwords to be cached in the first place. – elmclose Jul 12 '17 at 20:47
  • This actually helped me out on Windows. Thank you. – Paul Williams Jul 24 at 1:50
14

GPG: In a single command:

gpg-connect-agent reloadagent /bye

SSH: for ssh agent you probably want those two:

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.