Saya mulai memahami bagaimana RSA dan sistem kunci publik / swasta bekerja, dan saya bertanya-tanya di mana kunci SSH pribadi dan publik saya disimpan. Ketika saya pergi ke direktori home saya, dan saya browse direktori .ssh saya (cd .ssh), saya hanya melihat file "known_hosts", yang saya kira berisi kunci publik dari berbagai server SSH jarak jauh yang saya tahu.
Di mana saya dapat menemukan kunci-kunci ini? Saya bahkan tidak ingat membuat mereka, tetapi karena saya sudah membuat koneksi ssh sebelumnya, mereka pasti ada di suatu tempat.
Saya menggunakan OpenSSH_5.2p1 dengan MAC OS 10.6.
Terima kasih!
publickey
hanya satu metode otentikasi yang mungkin banyak; jika Anda cukup login menggunakanpassword
ataukeyboard-interactive
, kata sandi itu sendiri dikirim. (Catatan: Jangan membingungkan kunci pengguna, kunci host, dan kunci sesi.)Kunci ssh publik dan pribadi pribadi Anda biasanya disimpan di:
Atau mereka bisa
id_rsa
danid_rsa.pub
jika Anda membuat kunci RSA daripada kunci DSA (OpenSSH mendukung kedua bentuk).Tetapi fakta bahwa Anda telah membuat koneksi ssh sebelumnya tidak menyiratkan bahwa Anda memiliki kunci ssh. Jika
ssh
perintah tidak dapat menemukan kunci pribadi Anda, itu akan meminta Anda untuk kata sandi untuk sistem jarak jauh. Ini kurang aman daripada menggunakan kunci.Anda biasanya harus membuat kunci pribadi ssh Anda dengan frasa sandi. Jika Anda membuatnya tanpa frasa sandi, seseorang yang mendapatkan salinan kunci pribadi Anda dapat menyamar sebagai Anda.
ssh-agent
memungkinkan Anda menggunakan kunci dengan frasa sandi tanpa harus memasukkan kembali frasa sandi Anda setiap kali menggunakannya.sumber
Jika Anda tidak membuat keypair, Anda mungkin tidak memilikinya .
Lalu lintas SSH2 dienkripsi dengan kunci sesi simetris yang dibuat menggunakan DH, algoritma ECDH atau pertukaran kunci GSSAPI. Baik kunci host maupun kunci pengguna tidak digunakan untuk mengenkripsi data - satu-satunya tujuan mereka adalah otentikasi .
Sekarang ingat bahwa SSH mendukung beberapa metode otentikasi: selain itu
publickey
, hampir semua server menerima yang sederhanapassword
dan / ataukeyboard-interactive
, di mana tidak ada pembuatan atau penggunaan kunci - kata sandi hanya dikirim ke server jarak jauh untuk verifikasi.Dengan kata lain, "karena saya sudah membuat koneksi ssh sebelumnya, mereka pasti ada di suatu tempat" tidak benar - keypair pengguna tidak diperlukan untuk membuat koneksi.
Jika Anda benar-benar membuat keypair, kemungkinan akan di
~/.ssh/id_*
- misalnya,id_rsa
untuk keypair RSA default,id_ecdsa
untuk ECDSA,id_dsa
untuk DSA. Meskipun file-file ini mengandung bagian privat dan publik dari keypair, bagian publik biasanya secara otomatis diekstraksi menjadiid_*.pub
file terpisah untuk kenyamanan (id_rsa.pub
untukid_rsa
dan seterusnya).sumber