Gpg-agent adalah program yang berjalan di latar belakang ( daemon ) dan menyimpan kunci rahasia GPG dalam memori. Ketika proses GPG membutuhkan kunci, ia menghubungi program gpg-agent yang sedang berjalan melalui soket dan meminta kunci. Jika proses agen memiliki kunci, itu memberikannya ke gpg. Jika tidak, ia mencoba memuat kunci terenkripsi dari keyring Anda, dan meminta Anda untuk frasa sandi kunci itu. Setelah agen telah mendapatkan kunci yang didekripsi, ia meneruskannya ke proses gpg. Selain kunci GPG, agen Gpg juga dapat menyimpan kunci SSH dan menyediakannya untuk proses SSH, seperti ssh-agent
program yang dilengkapi dengan SSH.
Poin utama menggunakan agen kunci adalah agar Anda tidak perlu mengetikkan kata sandi Anda setiap kali Anda menggunakan kunci Anda. Agen menyimpan kunci dalam memori dari satu waktu ke waktu berikutnya. GPG sendiri tidak dapat melakukan itu karena proses berakhir setelah selesai.
Hal lain yang dapat dilakukan agen kunci adalah memungkinkan GPG berjalan pada mesin jarak jauh untuk mendapatkan kunci di agen lokal (yang mungkin memuatnya dari file lokal dan meminta frasa sandi Anda). Agen gpg belum dapat melakukan ini, ini adalah fitur yang direncanakan . SSH telah memiliki agen forwarding untuk waktu yang sangat lama. (Ini adalah alasan untuk tidak menggunakan agen gpg untuk kunci SSH.)
GPG 1.x atau 2.0.x tahu bahwa agen sedang berjalan karena GPG_AGENT_INFO
variabel diatur. Variabel ini berisi lokasi soket untuk berkomunikasi dengan agen serta ID proses agen. GPG 2.1 selalu menempatkan soket agen di ~/.gnupg
. GPG 2.x selalu memulai proses agen jika tidak ada yang berjalan.
Anda dapat memulai agen hanya dengan menjalankan gpg-agent
. Jika Anda ingin menjaga proses agen sebagai bagian dari sesi Anda, Anda dapat mengganti permintaan manajer sesi Anda dengan gpg-agent my-session-manager
; beberapa distribusi mengatur ini secara otomatis. GPG akan secara otomatis memulai agen, dan GPG 2.1 juga akan menemukan agen berjalan tanpa perlu variabel lingkungan, jadi Anda tidak perlu memulainya dengan cara ini kecuali jika Anda menggunakan versi GPG yang lebih lama atau Anda menggunakan agen untuk menyimpan tipe lain tombol seperti SSH.
Anda dapat mengirim perintah agen dengan perintahgpg-connect-agent
shell. Kirim kill
perintah untuk mematikan proses agen (atau mengirimnya sinyal).
Agen gpg dikirimkan bersama GPG sendiri. Beberapa distribusi mengemasnya secara terpisah.