I've some stuff encrypted with GnuPG using gpg -e. When I decrypt them, the system does not ask for the passphrase, it decrypts it straight away.

Does it store the secret key somewhere and uses it (I also stored my secret key in the GnuPG key chain, does it uses that)?

How can I force the system to ask the passphrase every time?


  Does it store the secret key somewhere and uses it (I also stored my secret key in the GnuPG key chain, does it uses that)?


GnuPG only uses keys from your key chain, so it must be in there to use it.


  How can I force the system to ask the passphrase every time?


Old versions of GnuPG uses the gpg-agent, which caches the passphrase for a given time. Use the option --no-use-agent or add a line no-use-agent to ~/.gnupg/gpg.conf to prevent using the agent.

For newer versions (v2.1+), disable password caching for the agent by creating ~/.gnupg/gpg-agent.conf and adding the following lines: 

default-cache-ttl 1
max-cache-ttl 1


Restart the agent with:

echo RELOADAGENT | gpg-connect-agent

