Saya memiliki masalah yang sangat mengganggu. Saya tidak bisa gpg-agent
menghapus kunci SSH saya dari keyring-nya dan bahkan tetap ada setelah banyak reboot.
$ ssh-add -D
SSH_AGENT_FAILURE
Failed to remove all identities.
Bahkan ketika saya mengatakannya untuk menghapus identitas:
$ ssh-add -d /path/to/private/key
Identity removed: /path/to/private/key
Saya kemudian melihat
$ ssh-add -l
4096 1b:cb:52:a6:e5:13:e6:78:14:12:92:8f:34:8f:92:88 /path/to/private/key
dan itu masih ada di sana.
Di mana ini di-cache? Tampaknya menulis ke disk untuk beberapa alasan, yang merupakan hal yang menakutkan bagi agen SSH untuk dilakukan. Saya menjalankan yang berikut ini untuk memulai gpg-agent
:
gpg-agent --enable-ssh-support --daemon
Semua yang lain berfungsi dengan baik, tapi ini caching file ini di suatu tempat dan saya harus menghapusnya.
Ya, sepertinya
ssh -d
rusak dengan agen gpg. Berikut ini solusinya menggunakan perintah yang berbeda.Jalankan
gpg-connect-agent
perintah dari commandline untuk terhubung ke agen. Kemudian, dari prompt di sana, masukkan perintah ini untuk mendaftar kunci sshAnda harus melihat sesuatu seperti:
Sekarang, untuk menghapus dari agen:
Itu akan mengatakan:
Sekarang, berhenti dengan perintah BYE:
Sekarang, verifikasi dengan
ssh-add -l
dan Anda akan melihat bahwa itu hilang nyata.sumber
DELETE_KEY <id>
memberikan lebih banyak info tentang dari mana file itu berasal ... berguna untuk mengetahui kunci mana yangJika Anda ingin skrip untuk ini:
Saya bukan ahli di sini, jadi saya hanya memberikan skrip sederhana yang saya gunakan. Tidak ada yang mewah. Tidak ada yang dalam.
sumber