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.orgJawaban:
Saya juga punya masalah ini dan saya telah menyelesaikannya dengan menambahkan konfigurasi ke gpg-agent, Anda dapat menemukannya di sini:
/programming/49491679/how-to-enter-gnupg-agent-key-passhprase-from-cli
sumber
Sepertinya Anda ingin mengirim frasa sandi ke
gpg-preset-passphrase
over stdin, tanpa menggemakannya (untuk menghindari mengeksposnya dalam daftar proses):Jika Anda peduli tentang portabilitas di luar bash:
Jawaban ini tentang sintaks "Dokumen Di Sini" (EOF) sangat berharga bagi saya: https://unix.stackexchange.com/a/88492
Anda juga membutuhkan
allow-preset-passphrase
dalam Anda~/.gnupg/gpg-agent.conf
seperti yang disebutkan oleh holms.Jika Anda mencari untuk melakukan ini dengan enkripsi simetris (karena saya sudah kehilangan kewarasan saya untuk ini, mungkin Anda tidak harus melakukannya), lihat jawaban saya di sini wrt menemukan keygrip / cacheid yang tepat untuk digunakan untuk mengatur kata sandi di gpg- agen: https://superuser.com/a/1485486/1093343
sumber