mengapa gpg-agent membuat beberapa soket
saat menggunakan gpg
with gpg-agent
, soket berikut dibuat di ~/.gnupg
direktori saya :
S.gpg-agent
S.gpg-agent.browser
S.gpg-agent.extra
S.gpg-agent.ssh
Saya berasumsi, S.gpg-agent
adalah gpg-agent
soket standar . Tapi untuk apa yang lainnya?
Saya tidak menggunakan gpg dengan ssh, atau gpg dengan browser.
Di mana ia dikonfigurasi, bahwa ini dibuat secara otomatis?
Bisakah saya menonaktifkannya?
Saya hanya butuh standar S.gpg-agent
Saya menggunakan gnupg 2.2.12
Debian Buster.
Jawaban
The gpg-agent
dapat memiliki beberapa kepribadian dan memberikan layanan yang berbeda.
Misalnya, Anda dapat berhenti ssh-agent
menjalankan di kotak Anda, dan menggunakan gpg-agent
sebagai pengganti ... selama Anda menggunakan soket yang tepat, S.gpg-agent.ssh
karena harus mengimplementasikan protokol yang tepat ssh
diharapkan untuk dibahas. Mengapa bisa begitu berguna? Misalnya, hingga baru-baru ini, ssh
tidak dapat menggunakan kunci yang disimpan di FIDO2 / U2F (seperti Yubikeys), ini hanya ditambahkan di 8.2 yang dirilis belum lama ini, yang kemudian membuat semuanya mati sederhana seperti yang dijelaskan dihttps://blog.snapdragon.cc/2020/02/23/direct-fido2-u2f-support-in-openssh-8-2-on-macos/
Sebelumnya, gpg-agent
akan digunakan, karena gpg
memiliki dukungan untuk U2F yang ditangani seperti smartcard. Ini adalah salah satu dokumentasi kanonik tentang cara melakukannya:https://florin.myip.org/blog/easy-multifactor-authentication-ssh-using-yubikey-neo-tokens
Sekarang kembali ke gpg-agent
, manual lengkapnya ada dihttps://www.gnupg.org/documentation/manuals/gnupg/Invoking-GPG_002dAGENT.html#Invoking-GPG_002dAGENT
Anda dapat menemukan semua opsi di https://www.gnupg.org/documentation/manuals/gnupg/Agent-Options.html#Agent-Options yang dapat dimasukkan ke dalam file konfigurasi, biasanya ~/.gnupg/gpg-agent.conf
Kita bisa belajar misalnya:
- tentang yang
.extra
satu ini, kita dapat mempelajari cara menonaktifkannya dan kegunaannya:
--extra-socket name
Soket ekstra dibuat secara default, Anda dapat menggunakan opsi ini untuk mengubah nama soket. Untuk menonaktifkan pembuatan soket, gunakan "none" atau "/ dev / null" untuk nama.
Dengarkan juga koneksi gpg-agent native pada soket yang diberikan. Tujuan penggunaan soket tambahan ini adalah untuk menyiapkan penerusan soket domain Unix dari mesin jarak jauh ke soket ini pada mesin lokal. Sebuah gpg yang berjalan pada mesin jarak jauh kemudian dapat terhubung ke gpg-agent lokal dan menggunakan kunci pribadinya. Ini memungkinkan dekripsi atau penandatanganan data pada mesin jarak jauh tanpa mengekspos kunci pribadi ke mesin jarak jauh.
- Untuk dukungan ssh, yang
.ssh
:
--enable-ssh-support
--enable-putty-support
Protokol Agen OpenSSH selalu diaktifkan, tetapi gpg-agent hanya akan menyetel variabel SSH_AUTH_SOCK jika tanda ini diberikan.
Dalam mode operasi ini, agen tidak hanya mengimplementasikan protokol gpg-agent, tetapi juga protokol agen yang digunakan oleh OpenSSH (melalui soket terpisah). Akibatnya, harus memungkinkan untuk menggunakan gpg-agent sebagai pengganti drop-in untuk ssh-agent yang terkenal.
- Untuk soket browser dan informasi lebih lanjut, Anda dapat menggunakan https://wiki.archlinux.org/index.php/GnuPG#gpg-agent yang mengatakan:
gpg-agent
banyak digunakan sebagai daemon untuk meminta dan menyimpan kata sandi untuk rantai kunci. Ini berguna jika GnuPG digunakan dari program eksternal seperti klien email. gnupg hadir dengan soket pengguna systemd yang diaktifkan secara default. Soket inigpg-agent.socket
,gpg-agent-extra.socket
,gpg-agent-browser.socket
,gpg-agent-ssh.socket
dandirmngr.socket
.
Main
gpg-agent.socket
digunakan oleh gpg untuk terhubung kegpg-agent
daemon.Tujuan penggunaan
gpg-agent-extra.socket
pada sistem lokal adalah untuk menyiapkan penerusan soket domain Unix dari sistem jarak jauh. Ini memungkinkan penggunaan gpg pada sistem jarak jauh tanpa mengekspos kunci privat ke sistem jarak jauh. Lihat gpg-agent (1) untuk detailnya.The
gpg-agent-browser.socket
memungkinkan web browser untuk mengakses daemon gpg-agent.The
gpg-agent-ssh.socket
dapat digunakan oleh SSH untuk kunci tembolok SSH ditambah dengan program ssh-add. Lihat agen #SSH untuk konfigurasi yang diperlukan.The
dirmngr.socket
dimulai daemon GnuPG penanganan koneksi ke keyserver.
Jadi tidak ada salahnya memilikinya meskipun Anda tidak menggunakannya. Jika Anda benar-benar ingin memastikan mereka tidak ada, Anda dapat mencoba meletakkan yang berikut ini di file konfigurasi gpg-agent:
extra-socket /dev/null
browser-socket /dev/null
Saya tidak mengujinya, dokumentasi tidak berbicara tentang browser-socket
tetapi pertanyaan lama ini tidak:https://askubuntu.com/questions/777900/how-to-configure-gnupgs-s-gpg-agent-socket-location