Ubuntu 15.10にアップグレードした後、gpgキーのパスワードプロンプトがpinentryと呼ばれるプログラムに変更されました。 pinentryプロンプトには、パスフレーズのテキストフィールドと「パスワードマネージャーに保存」のチェックボックスがあります。
[パスワードマネージャーに保存する]チェックボックスをオンにしないと、gpgキーを使用して何かを解読するたびにパスワードの入力を求められます。これは面倒です。
チェックボックスをオンにすると、pinentry/gnome-keyringはパスワードを無期限に(再起動後も)保存しますが、これはセキュリティの観点から受け入れられません。
保存したら、「キーとパスワード」のgnome guiアプリに移動して「ログイン」で削除することでgpgパスワードを削除できますが、手動でこれを覚えておく必要はありません。
Gsettingsでは、キーdesktop.gnome.crypto.cache.gpg-cache-method
の値は既にsession
に設定されていますが、これは効果がないようです。
誰もがgnome-keyringまたはpinentryが現在のログインセッションのgpgパスワードのみを保存する方法を知っていますか?
~/.gnupg/gpg-agent.conf
を使用して、gpg-agentのパスワードキャッシュ動作を制御できます。関連する gpg-agentオプション は、default-cache-ttl
(最大アイドル時間(秒))およびmax-cache-ttl
(アクティブに使用されている場合でも有効期限が切れるまでの最大時間)です。形式は単純にoption_name option_value
。例えば。
# This is a comment
default-cache-ttl 600
max-cache-ttl 7200
編集したら、gpgconf --reload gpg-agent
を使用して設定を強制的に再読み込みできます。
注意事項:15.10ではなく16.04でテスト。