
次のようにgpg-agentを起動します。
eval `gpg-agent --daemon --preset`
そして、このターミナルウィンドウで推奨されているようにgpg-preset-passphraseコマンドを使用してください。
echo secretpassword | /usr/libexec/gpg-preset-passphrase --preset KEYGRIPID
それから私はこの回答パスワードが実際に正しくキャッシュされていることを確認してください。
echo 'GET_PASSPHRASE --no-ask KEYGRIPID Err Pmt Des'|gpg-connect-agent |
perl -pe 's/([0-9a-fA-F]{2})/chr(hex $1)/eg'
今gpgを実行して何かに署名または暗号化すると、パスワードの入力を求められます。このようなことは起こってはいけません。
gpg -u KEYGRIPID --clearsign --batch somefile.txt
<curses-based prompt>
パスワードを正しく入力してgpg-signコマンドを再実行すると、プロンプトは表示されません。これは異なりますが、パスワードがキャッシュされていることを示します。
GPG バージョン 2.0.14
答え1
これはない鍵盤しかし、指紋キー。これは参考資料です。目的の値を抽出するのに役立つ醜いPerlスクリプトは次のとおりです。
gpg -K --fingerprint |
perl -lne '$/="\n\n"' \
-e if ( ($len,$grip,$fp)=/^sec\s+(\w+)\/([0-9A-Z]+).* fingerprint = (.*?)\s+uid\s/ms)' \
-e { $fp =~ s/\s*//g; print "$grip $fp";}'
出力:
EF2141BE 24C5202D6905CB0A5C94AB36134E3618EF6141B8
1BA3D65B 484EE4F3DC2595FAF91F51A9731342954BAFD753
2番目の列をコピーしてプリセットコマンドに渡します。
echo secretpassword | /usr/libexec/gpg-preset-passphrase --preset