Jadi seperti biasa saya punya dual boot Kubunutu / Windows 7 box (dengan cygwin), pada IP statis lokal 192.168.0.x range, dan saya ingin SSH untuk itu dari kotak saya yang lain terlepas dari sistem yang sedang berjalan.
Masalahnya adalah - saya mengkonfigurasi bagian-bagian Kubuntu dan Windows 7 secara terpisah, sehingga mereka memiliki kunci host ssh yang berbeda (yang melekat pada pengaturan dual boot ini), tetapi juga nama pengguna, dan IdentityFile
(yang cukup canggung, saya hanya tidak terlalu memikirkannya) ketika saya memilih nama akun Windows 7) dan ssh menjadi gila karena setiap kali saya boot ke OS yang berbeda ia mengira seseorang MITMing karena kunci untuk IP yang sama berubah.
Apa yang terbaik yang bisa saya lakukan di sini? Menghapus ~/.ssh/known_hosts
dan mengomentari bagian yang berbeda dari ~/.ssh/config
setiap kali saya log in semacam karya, tapi saya lebih suka menyelesaikannya dengan benar-ish.
Jawaban:
Saya akan menjawabnya sendiri.
Pertama saya mengganti nama akun pengguna saya di cygwin
/etc/passwd
tanpa mengubah nama akun Windows, dan pindah/home/myoldname
ke/home/mynewname
.Kemudian saya menyalin
~/.ssh/authorized_keys
dari Ubuntu ke cygwin, jadi saya bisa menggunakan kunci identitas yang sama untuk mengakses keduanya.Kemudian saya menambahkan baris-baris berikut ke dalam
~/.ssh/config
mesin yang mengaksesnya:Ini mencegah penyimpanan file kunci, membuat saya dengan pesan yang sedikit mengganggu setiap kali saya login:
Saya bisa hidup dengan itu.
sumber
Hanya jika ada yang bertanya-tanya, Anda dapat memiliki dua entri dengan alamat ip yang sama di .ssh / known_hosts. SSH akan menerima tuan rumah jika salah satu entri valid.
Anda hanya perlu mengedit secara manual .ssh / known_hosts atau Anda dapat mengomentari salah satu, ssh dengan yang lain lalu batalkan komentar.
Contoh:
sumber