Di mac saya, saya punya 1 entri per server di ~/.ssh/known_hosts
file, di Ubuntu saya perhatikan ada dua yang dibuat per server. Mengapa demikian?
Formatnya adalah:
|1|wwwwwwwwwwwwwww=|wwwwwwwwww= ecdsa-sha2-nistp256 AAAAAAAAAA+AAAAA=
|1|vvvvvvvvvvvvvvv=|vvvvvvvvvv= ecdsa-sha2-nistp256 AAAAAAAAAA+AAAAA=
Di kedua entri, bagian pertama sebelum ecdsa-sha2-nistp256 berbeda. Setelah ecdsa-sha2-nistp256 itu sama (kunci pub saya bayangkan).
Saya ssh ke server A, dan dari sana saya ssh ke server B. Saya tidak menambahkan entri secara manual, saya melihat peringatan ubuntu dan mengizinkannya untuk menambahkan ke file known_hosts.
Saya blanked file diketahui_hosts untuk tes ini.
Saya memiliki keraguan yang masuk akal bahwa entri tambahan adalah untuk alamat ipv6, meskipun saya belum menggunakannya untuk terhubung. Apakah ubuntu menambahkannya secara otomatis jika tersedia?
Jawaban:
Anda memiliki dua entri karena satu berdasarkan domain dan yang lainnya dengan alamat IP, jadi contoh Anda:
mungkin berbunyi:
Jika Anda menonaktifkan hashing host yang dikenal (tambahkan
HashKnownHosts no
ke file ~ / .ssh / config) maka Anda dapat melihat apa yang terjadi, tetapi pada file diketahui_host non-hash, baik domain dan alamat IP dapat muncul pada baris yang sama, sehingga mereka akan terlihat seperti ini:Ada sedikit lebih banyak diskusi tentang format file known_hosts di sini.
sumber
Anda harus memiliki satu kunci untuk setiap server yang terhubung. Entah Anda telah terhubung ke dua server pada berbagai waktu atau kunci pada server tunggal Anda diubah.
Ketika Anda pertama kali terhubung ke server ssh Anda ditanya apakah Anda ingin menambahkan kunci ke host yang dikenal.
Terlihat seperti ini:
Jadi, Anda menerima kunci dengan klien Anda di beberapa titik waktu.
Dengan setiap koneksi berikutnya, ketika Anda terhubung ke server kunci dibandingkan dan Anda mendapatkan peringatan jika mereka berubah.
Lihat: http://bodhizazen.com/Tutorials/SSH_overview#Security
sumber