無人マシンで使用するためにパスフレーズをキャッシュしたいと考えています。これを行うといくつかのリスクが発生するため、キャッシュするパスフレーズを選択し、両方default-cache-ttl
を設定したりmax-cache-ttl
、不愉快に高い値を設定したりしないようにし、gpg-agent
定期的にキャッシュ全体をクリアする必要がないようにしたいので、で解決策を探していますgpg-preset-passphrase
。トラブルシューティング中に見つけた情報の一部はGnuPGの古いバージョンを参照しているため、すべての違いを十分に考慮していたかどうかはわかりません。
まず、で規定されman 1 gpg-agent
ているようexport GPG_TTY=$(tty)
に、.bashrcにあります。
ここで、eval $(gpg-agent --daemon --allow-preset-passphrase --default-cache-ttl 1 --max-cache-ttl 31536000)
gpg-agentを起動するために実行するとします。gpg-preset-passphraseが--max-cache-ttl(デフォルトは2時間)を引き続き尊重していることに注意してください。
次に$KEYGRIP
、で目的の秘密サブキーのキーグリップを取得しgpg --with-keygrip -K
ます。
それで私は試し/path/to/gpg-preset-passphrase -c $KEYGRIP
ます。リターンを押すと、これは次のように出力します:
gpg-preset-passphrase: caching passphrase failed: Not implemented
に再度追加しようとする--verbose --debug 6 --log-file /path/to/gpg-agent.log
とgpg-agent
、私のログに
gpg-agent[4206] listening on socket /run/user/1000/gnupg/S.gpg-agent
gpg-agent[4207] gpg-agent (GnuPG) 2.1.15 started
gpg-agent[4207] handler 0x7f86ef783700 for fd 5 started
gpg-agent[4207] command PRESET_PASSPHRASE failed: Not implemented
gpg-agent[4207] handler 0x7f86ef783700 for fd 5 terminated
ソースから深く掘り下げる以外に、これからどこに進むべきかわからないので、私が取っている手順を誰かが最初に修正できるかどうか疑問に思っています。
gpg-preset-passphrase
に送信する必要があることはわずかですが、私の最初の具体的なリードは、このメーリングリストlist.gnupg.org/pipermail/gnupg-users/2010-January/037876.html