web-dev-qa-db-ja.com

gpg-agentのdefault-cache-ttlオプションを機能させる方法は?

私はパスワードマネージャーとしてパスを使用しています。パスワードの1つをクリップするたびにパスフレーズを再入力しないように、一定期間パスフレーズをキャッシュしたいと思います。 Passは gpg-agent を使用してパスワードを復号化しています。

マニュアルページ および 以前に回答された質問 によると、解決策は~/.gnupg/gpg-agent.confに次のオプションを設定することです。

default-cache-ttl 3600
max-cache-ttl 86400

残念ながら、私のマシンでは機能しません。パスワードを要求するたびにパスフレーズを要求されます。

gpg-agent.confオプションを追加および削除して、no-grabが読み取られることを確認しました。これは正常に機能します。

私はi3wmデスクトップを搭載したDebianマシンを使用しています。したがって、私はgnome-keyringmanagerを使用しません。

2
Alain Danet

Gnupgを1.4から2.1にアップグレードすることで問題を解決しました。これにより、構成が大幅に簡素化されたようです。

ただし、gpgとgpg2の間の秘密鍵の移行エラーが発生しました。

パスからパスワードを要求しているときに、gpg2は次のエラーメッセージを生成しました。

gpg: decryption failed: No secret key

解決策はこれから来ました 前の問題

gpg --export [ID] > public.key
gpg --export-secret-keys [ID] > private.key
gpg2 --import public.key
gpg2 --import private.key
rm public.key private.key

[ID]は私のキーのIDです。 gpgからgpg2にキーを正しくインポートします。

最後に再起動すると、パスフレーズがキャッシュされ、パスのユーザーとして非常に満足しています。

2
Alain Danet