Bagaimana saya bisa memulai kembali gpg-agent?


67

Beberapa perubahan dalam konfigurasi GnuPG membutuhkan gpg-agentrestart / reboot, tapi ... Bagaimana saya bisa melakukan itu? Saya mencoba gpg-agent restart, service gpg-agent restarttetapi tidak berhasil.

Jawaban:


99

Dengan GPG saat ini (2.1+), untuk berhenti gpg-agent Anda dapat menggunakan gpgconf --kill, seperti ini:

gpgconf --kill gpg-agent

Anda tidak perlu me-restart secara manual. GPG akan memulai kembali saat dibutuhkan.


6
Ada kasus di mana Anda ingin memulai agen secara manual, misalnya ketika Anda menggunakannya dengan dukungan ssh diaktifkan. Agen TIDAK akan mulai secara otomatis ketika Anda mencoba login ssh.
hasufell

1
Jika Anda pernah menghapus ~/.gnupgdirektori, Anda harus memulai ulang agen gpg secara manual.
Christopher Martin

21

Cara pilihan saya adalah dengan gpg-connect-agent reloadagent /bye. Lihat gpg-connect-agent help /byedaftar perintah lengkap.


10

gpg-agentbukan layanan seluruh sistem tetapi dimulai sekali per pengguna (dengan demikian, tidak dikelola oleh service). Meskipun kadang-kadang dipanggil oleh pengguna dotfile atau setidaknya di Debian dan turunannya juga ketika X11 dimulai (dan gpg-agentdiinstal) di /etc/X11/Xsession.d/90gpg-agent(untuk memastikan bahwa yang umum gpg-agentdigunakan oleh semua panggilan GnuPG, tidak peduli apakah dari terminal atau aplikasi GUI); itu juga dimulai secara otomatis oleh GnuPG bila diperlukan. Dari man gpg-agent:

Agen secara otomatis dimulai berdasarkan permintaan oleh gpg, gpgsm, gpgconf, atau gpg-connect-agent. Jadi tidak ada alasan untuk memulainya secara manual. Jika Anda ingin menggunakan Agen Shell yang disertakan, Anda dapat mulai menggunakan:

gpg-connect-agent /bye

Biasanya, simpel killall gpg-agent(dari cangkang non-root) harusnya baik untuk diakhiri gpg-agent. Anda mungkin akan mengamati sedikit keterlambatan saat menggunakan GnuPG di waktu berikutnya, seperti gpg-agentyang dimulai lagi.


2
Perubahan ini dalam GPG 2.1.x dan prosesnya ditangani melalui dirmngr. Perintah untuk menjalankan kemudian dirmngr --shutdowndiikuti oleh dirmngr --daemondan kadang-kadang opsi tambahan (saya juga menyertakan homedir GPG tertentu dan --use-torbendera).
Ben

1

Dalam pengalaman saya ada beberapa skenario di mana gpg akan gagal untuk memulai agen gpg baru (mengimpor kunci baru?).

Bunuh agen lama seperti itu:

GNUPGHOME="${GNUPGHOME:-$HOME/.gnupg}" gpgconf --kill gpg-agent

dan kemudian mulai yang baru:

gpg-agent --homedir "${GNUPGHOME:-$HOME/.gnupg}" --daemon

Mengatur --homedir secara eksplisit saat memulai memastikan daftar ps Anda jelas ketika Anda memiliki lebih dari satu homedir; dan itu analog dengan apa yang dilakukan gpg ketika mulai itu.

Mengatur GNUPGHOME saat berhenti tidak perlu, tetapi mungkin membuat Anda atau peninjau kode lebih nyaman.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.