Saya baru-baru ini membuat kunci PGP untuk menandatangani komit saya dan itu berfungsi dengan baik. Saya juga menemukan bahwa gpg terintegrasi lebih baik dengan OS saya. (Kubuntu) daripada ssh-agent.
Saya malas dan ingin menghindari keharusan mengganti kunci SSH saya di semua berbagai server yang saya akses.
Apakah ada opsi bagi saya untuk mengimpor kunci SSH yang ada sebagai subkunci dari kunci PGP saya dan kemudian menjalankan agen gpg dengan dukungan ssh-agent sehingga ketika saya menjalankan ssh something
itu menggunakan subkunci saya dan menggunakan agen gpg untuk meminta frasa sandi?
Idealnya saya menyediakan sandi hanya sekali, untuk kunci PGP utama saya dan kemudian setiap kali saya melakukan atau login melalui ssh, itu menggunakan yang benar.
Apa itu mungkin? (Saya tahu formatnya berbeda, tapi hanya itu yang saya tahu)
Jawaban yang Diterima:
Semua yang Anda butuhkan:
export GPG_TTY=$(tty)
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
ssh-add -c -t 3600 ~/.ssh/id_rsa # set the cache lifetime as 3600s
Kemudian silakan hapus file:mv ~/.ssh/id_rsa.* /path/to/backup
.
Sekarang Anda dapat melakukan login SSH untuk pengujian.
Bagaimanapun, ingatlah untuk menambahkan Lingkungan ke profil Anda, seperti .profile
atau ~/.bashrc
.
(Ps:Anda dapat menemukan kunci ssh (dalam format gpg) yang ada di ~/.gnupg/private-keys-v1.d/
dan dengan keygrip sebagai namanya, yang dapat digunakan untuk ditambahkan sebagai subkunci.
Referensi:
https://incenp.org/notes/2015/gnupg-for-ssh-authentication.html
https://www.gnupg.org/documentation/manuals/gnupg/Invoking-GPG_002dAGENT.html