Jusqu'à GnuPG 2
La configuration utilisateur (dans ~/.gnupg/gpg-agent.conf
) ne peut définir que la durée de mise en cache par défaut et maximale ; elle ne peut pas être désactivée.
L'option default-cache-ttl
définit le délai (en secondes) après la dernière activité GnuPG (il se réinitialise si vous l'utilisez), l'option maximum-cache-ttl
définit la durée (en secondes) pendant laquelle il conserve la mise en cache après avoir saisi votre mot de passe. La valeur par défaut est de 600 secondes (10 minutes) pour default-cache-ttl
et de 7200 secondes (2 heures) pour maximum-cache-ttl
.
Réglez-la à un an environ – mettons, 34560000 secondes (400 jours) – et tout devrait bien se passer :
default-cache-ttl 34560000
maximum-cache-ttl 34560000
Mais pour que ce changement prenne effet, vous devez mettre fin à la session en redémarrant gpg-agent.
Si vous souhaitez limiter la durée de mise en cache à la durée de votre session, vous devriez arrêter le daemon à la déconnexion. Cela varie beaucoup selon les systèmes d'exploitation, donc je vous renvoie vers une autre question/réponse contenant des astuces pour différents systèmes.
Vous pourriez également redémarrer le gpg-agent
lors de la connexion, mais cela ne limite pas le temps de mise en cache à la durée de la session, mais aux connexions d'un utilisateur. À vous de décider si c'est un problème dans votre cas.
GnuPG 2.1 et versions ultérieures
Dans GnuPG 2.1 et versions ultérieures, l'option maximum-cache-ttl
a été renommée max-cache-ttl
sans autres modifications.