Saya menggunakan openssh7.5p1 dan gnupg 2.1.21 di arch linux (ini adalah versi default yang datang dengan arch). Saya ingin menggunakan gpg-agent
sebagai agen ssh. Saya memasukkan yang berikut ini di ~/.gnupg/gpg-agent.conf
:
pinentry-program /usr/bin/pinentry-qt
enable-ssh-support
Arch secara otomatis memulai gpg-agent dari systemd, jadi saya atur
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/gnupg/S.gpg-agent.ssh"
Ketika saya menjalankan ssh-add -l
, itu tidak melaporkan identitas dan ps
melaporkan suatu gpg-agent --supervised
proses seperti yang saya harapkan.
Sayangnya, ketika saya berlari ssh-add
, apa pun jenis kuncinya, itu tidak berhasil. Berikut adalah contoh bagaimana saya mencoba dsa:
$ ssh-keygen -f testkey -t dsa -N ''
Generating public/private dsa key pair.
Your identification has been saved in testkey.
Your public key has been saved in testkey.pub.
$ ssh-add testkey
Could not add identity "testkey": agent refused operation
Semua fungsi gpg lainnya berfungsi dengan baik (mengenkripsi / mendekripsi / menandatangani). Juga, kunci yang saya hasilkan berfungsi dengan baik jika saya menggunakannya secara langsung dengan ssh, dan mereka berfungsi dengan baik jika saya menjalankan ssh-agent
yang datang dengan openssh.
Dokumentasi mengatakan bahwa ssh-add
harus menambahkan kunci ~/.gnupg/sshcontrol
, tetapi jelas tidak ada yang terjadi.
Pertanyaan saya: Apa cara termudah untuk memuat kunci yang dihasilkan oleh openssh's ssh-keygen
into gpg-agent
, dan dapatkah seseorang memotong dan menempel sesi terminal yang menunjukkan cara kerjanya?