GnuPG 2まで
(~/.gnupg/gpg-agent.conf
)のユーザー構成では、デフォルトのキャッシュ期間と最大キャッシュ期間のみを定義できます。無効にすることはできません。
このdefault-cache-ttl
オプションは、最後のGnuPGアクティビティ後のタイムアウト(秒単位)を設定し(使用するとリセットされます)、maximum-cache-ttl
オプションはパスワードを入力した後にキャッシュするタイムスパン(秒単位)を設定します。デフォルト値は、600秒(10分)default-cache-ttl
および7200秒(2時間)ですmaximum-cache-ttl
。
1年程度(たとえば、34560000秒(400日))に設定します。これで問題ありません。
default-cache-ttl 34560000
maximum-cache-ttl 34560000
ただし、この変更を有効にするには、gpg-agentを再起動してセッションを終了する必要があります。
セッションの長さを制限したい場合は、ログアウト時にデーモンを強制終了する必要があります。これはオペレーティングシステムによって大きく異なるため、異なるシステムのヒントを含む別の質問/回答を参照しています。
gpg-agent
ログイン中に再起動することもできますが、これはキャッシュ時間をセッションの長さに制限するのではなく、ユーザーのログインを制限します。これが問題になる場合は、自分で決めてください。
GnuPG 2.1以降
GnuPG 2.1以降では、maximum-cache-ttl
オプションは変更max-cache-ttl
なしで名前が変更されました。