Saya mencoba untuk mengkonsolidasikan perangkat lunak enkripsi saya ke GnuPG, dan saya mengalami masalah yang membingungkan.
Unit utama saya adalah server tanpa kepala, dan saya bekerja secara eksklusif di tmux. Tidak ada sesi X, dan karena itu saya mengkonfigurasi gpg-agent untuk menggunakan pinentry-curses. Saya telah mengkonfigurasi gpg-agent untuk dipanggil saat login dengan emulasi ssh-agent dengan skrip ini:
if pgrep -u "${USER}" gpg-agent >/dev/null 2>&1; then
eval `cat $gnupginf`
eval `cut -d= -f1 $gnupginf | xargs echo export`
else
eval `gpg-agent -s --enable-ssh-support --daemon`
fi
Saya sudah menambahkan kunci ssh saya ke gpg-agent, namun ketika saya mencoba sesi ssh lain perintahnya hang.
Saya telah menemukan bahwa jika saya membunuh gpg-agent dan membuat shell login baru, agen berfungsi sebagaimana mestinya (memanggil pinentry-curses kemudian bekerja seperti ssh-agent).
Namun, jika saya membuat shell login lain (dengan, katakanlah, membuka panel tmux lain) dan mencoba ssh, perintah hang dan jendela pinentry-curses dicetak di atas isi shell login yang awalnya meluncurkan agen.
Selanjutnya, jika saya telah menutup shell yang awalnya meluncurkan agen, pinentry-curses disebut pula dan menyebabkan loop tak terbatas cpu-crippling. (Bug yang dikenal, lihat http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=559936 .)
Intinya, saya ingin tahu apa yang harus diubah tentang pengaturan saya untuk membuat agen GnuPG bekerja dengan mulus seperti ssh-agent. Terima kasih atas bantuannya!