Tidak dapat menghapus kunci dari ssh-agent. Bahkan me-reboot tidak membantu


18

Beberapa waktu yang lalu saya perhatikan ada tiga kunci di ssh-agent yang tidak bisa saya hapus. ssh-add -lmenunjukkan tiga kunci; Saya berlari ssh-add -D, dan diberi tahu "Semua identitas dihapus."; tapi kemudian langsung ssh-add -lmenunjukkan tiga kunci yang sama.

Jika saya logout dan kemudian kembali, kuncinya masih ada. Jika saya me-reboot mesin, kunci masih ada. Jika saya menghapus direktori keyring di /tmp, saya tidak bisa terhubung ssh-agentlagi, tetapi setelah logout dan kembali, kuncinya kembali. Mereka kebal.

Kuncinya adalah milikku, bukan milik orang lain, sejauh yang aku tahu. Saya dapat mengakses layanan lokal saya yang biasa dengan mereka. Tetapi ketika saya menambahkan salah satu kunci lagi ssh-add, memberikan path ke file kunci pribadi, kunci baru memiliki penampilan yang berbeda dalam output ssh-add -l:

2048 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f /home/jruser/.ssh/jruser-keyname-20110418 (RSA)

vs. yang asli:

2048 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f jruser 04/18/2011 keyname (RSA)

Apakah ada cara untuk menjelaskan perilaku ini secara masuk akal? Saya kira benar-benar ada dua pertanyaan:

  1. Bagaimana kunci berhasil dipertahankan bahkan di seluruh reboot? Pengetahuan dasar saya sshmenunjukkan bahwa kunci selalu harus ditambahkan secara manual.

  2. Mengapa ssh-agent -Dberbohong kepada saya tentang menghapus identitas?


Ada bug Fedora / Red Hat juga: bugzilla.redhat.com/show_bug.cgi?id=1205546
spoovy

Jawaban:


11

Sepertinya itu bug. Saya memiliki behavoir serupa di Ubuntu 10.10. Pencarian google menemukan laporan bug untuk Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=472477

Untuk menghapus kunci tambahan yang saya perlihatkan, saya baru saja memindahkannya dari direktori ~ / .ssh.


Iya! Ini bekerja untuk saya. Terima kasih! Saya menggunakan Debian Wheezy beta 4.
Tarrasch

3
Akhirnya menyerah dan menyelidiki. Pelakunya adalah gnome-keyring-daemon, yang a) secara otomatis memuat semua kunci di ~ / .ssh, dan b) menolak untuk melepaskannya. Solusinya adalah menjaga agar gnome-keyring-manager tidak pernah memulai, yang anehnya sulit dicapai pada akhirnya dengan menghapus izin eksekusi file program.
Sean

Apakah ada solusi untuk ini yang tidak melibatkan manajer gnome-keyring-pincang? yaitu, memperbaiki gnome-keyring-manager sehingga menghapus kunci yang diperintahkan?
Phil

1
Ini tahun 2018 dan ini masih relevan. Harus memindahkan kunci dari ~ / .ssh
Carson Ip

1
Wow. Hapus kunci dari ~ / .ssh dan letakkan di direktori lain seperti yang disebutkan @CarsonIp dan kemudian gunakan perintah ssh-agent di bashrc Anda untuk secara manual memuat kunci ssh tambahan dari direktori lain. PIMA!
Ligemer

3

Kunci Anda disimpan sebagai file di direktori tersembunyi: /home/jruser/.ssh/ begitulah mereka bertahan setelah reboot. Dugaan saya adalah ssh-add -D menghapusnya dari memori tetapi ketika Anda reboot mereka dibaca dari direktori .ssh dan Anda memilikinya lagi.


4
Tetapi ssh-add -DTIDAK menghapusnya dari memori. Tidak ada efek sama sekali.
Sean
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.