Bagaimana cara menghapus entri ssh-agent (di Mac OS X)?

60

Saya menjalankan Mac OS X, dan tampaknya setelah SSHing ke beberapa mesin, menggunakan file identitas, 'ssh-agent' saya membangun banyak identitas / kunci dan kemudian kadang-kadang menawarkan terlalu banyak ke mesin jarak jauh, menyebabkan mereka untuk tendang saya sebelum menghubungkan:

Menerima putuskan sambungan dari 10.12.10.16: 2: Terlalu banyak kegagalan otentikasi untuk cwd

Cukup jelas apa yang terjadi, dan halaman ini membicarakannya lebih detail:

Server SSH hanya memungkinkan Anda untuk mencoba mengautentikasi beberapa kali. Setiap percobaan kata sandi yang gagal, setiap pubkey / identitas gagal yang ditawarkan, dll, mengambil salah satu dari upaya ini. Jika Anda memiliki banyak kunci SSH di agen Anda, Anda mungkin menemukan bahwa server SSH mungkin menendang Anda sebelum mengizinkan Anda mencoba otentikasi kata sandi sama sekali. Jika ini masalahnya, ada beberapa solusi yang berbeda.

Mem-boot ulang menghapus agen dan kemudian semuanya berfungsi kembali. Saya juga dapat menambahkan baris ini ke .ssh/configfile saya untuk memaksanya menggunakan otentikasi kata sandi:

PreferredAuthentications keyboard-interactive,password

Bagaimanapun, saya melihat catatan pada halaman yang saya referensikan berbicara tentang menghapus kunci dari agen, tetapi saya tidak yakin apakah itu berlaku pada Mac karena tampaknya dihapus setelah reboot bagaimanapun juga.

Apakah ada cara sederhana untuk menghapus semua kunci di 'ssh-agent' (hal yang sama yang terjadi saat reboot)?

cwd
sumber

Jawaban:

97

Kunci SSH Anda seharusnya tidak ditambahkan secara otomatis ke agen hanya karena Anda SSH telah terhubung ke server ...

Jalankan ssh-add -luntuk mendaftar kunci agen, ssh-add -Duntuk membersihkan semua kunci.

grawity
sumber
Mungkin ada hubungannya dengan konfigurasi OSX? Jika saya mengetik ssh-add -lsaya tidak mendapatkan apa-apa. Jika saya mengetik, ssh -i ~/keyFileLocation.dsa un@remotehostsaya mendapatkan dialog sembulan OS X yang meminta frasa sandi. Saya mengetik dan menghubungkan saya. Jika saya memutuskan sambungan dan kemudian ketik ssh-add -litu menunjukkan kepada saya identitas yang baru saja saya gunakan. Setelah saya me-restart komputer dan mengetiknya ssh-add -lkosong lagi. ssh-add -Dbekerja sangat baik untuk menghapus kunci tanpa memulai ulang. Terima kasih!
cwd
Empat tahun kemudian dan ini masih merupakan masalah, tetapi perbaikan ini masih berhasil - terima kasih
jnunn
Hei, bisakah Anda membimbing saya untuk hal ini? superuser.com/questions/951002/…
Niks
4
Salah (pada 2017): lihat AddKeysToAgentopsi konfigurasi, yang dirancang untuk tujuan eksplisit menambahkan kunci SSH Anda ke agen hanya karena Anda SSH akan ke server.
Radon Rosborough
1

Cara lain untuk membatasi apa yang diperiksa kunci adalah dengan menambahkan IdentitiesOnly yesdan IdentityFile ~/.ssh/<nameofkey>ke /.ssh/configfile Anda .

Leo Fisher
sumber