Saya mencari untuk meng-cache frasa sandi untuk digunakan pada mesin yang tidak dijaga. Karena melakukan hal ini menimbulkan risiko, saya lebih suka memilih frasa sandi mana yang di-cache dan menghindari pengaturan keduanya default-cache-ttl
dan max-cache-ttl
untuk nilai-nilai yang menjengkelkan tinggi serta menghindari perlu menghapus gpg-agent
seluruh cache secara berkala - maka saya mencari solusi dengan gpg-preset-passphrase
. Beberapa informasi yang saya temukan saat pemecahan masalah merujuk ke versi GnuPG yang lebih lama, jadi saya tidak yakin apakah saya sudah cukup memperhitungkan semua perbedaan.
Pertama, seperti yang ditentukan oleh man 1 gpg-agent
, saya miliki export GPG_TTY=$(tty)
di .bashrc saya.
Sekarang anggaplah saya menjalankan eval $(gpg-agent --daemon --allow-preset-passphrase --default-cache-ttl 1 --max-cache-ttl 31536000)
untuk memulai gpg-agent, mencatat bahwa gpg-preset-passphrase masih menghormati --max-cache-ttl (default 2 jam).
Saya kemudian mendapatkan keygrip $KEYGRIP
dari subkey rahasia yang diinginkan gpg --with-keygrip -K
.
Dengan itu saya coba /path/to/gpg-preset-passphrase -c $KEYGRIP
. Setelah memukul balik, ini mencetak:
gpg-preset-passphrase: caching passphrase failed: Not implemented
Mencoba lagi menambahkan --verbose --debug 6 --log-file /path/to/gpg-agent.log
ke gpg-agent
, log saya ditambahkan dengan
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
Saya tidak yakin harus melanjutkan dari mana selain menyelam lebih dalam ke sumbernya, jadi saya bertanya-tanya apakah ada yang bisa memperbaiki langkah yang saya ambil.
gpg-preset-passphrase
, petunjuk konkret saya yang pertama adalah dari daftar milis ini .gnupg.org