Apakah ada cara untuk sementara waktu mengabaikan ~/.ssh/known_hosts
file saya ?
mbp:~ alexus$ ssh 10.52.11.171
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Please contact your system administrator.
Add correct host key in /Users/alexus/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/alexus/.ssh/known_hosts:155
RSA host key for 10.52.11.171 has changed and you have requested strict checking.
Host key verification failed.
mbp:~ alexus$
CATATAN:
.. oleh beberapa jawaban (s) / komentar (s) saya menyadari bahwa pertanyaan saya agak menyesatkan, begitu singkat itu perilaku yang diharapkan), jadi itu normal (dalam kasus saya) ada alasan yang valid di baliknya mengapa saya ingin melihat "abaikan saja")
Jawaban:
Anda dapat menggunakan
ssh -o StrictHostKeyChecking=no
untuk mematikan memeriksaknown_hosts
sebentar. Tapi saya menyarankan hal ini. Anda harus benar-benar memeriksa mengapa kunci host telah berubah.Pilihan lain adalah menambahkan entri khusus ke
~/.ssh/config
host Anda yang bersangkutan. Ini mungkin pendekatan yang valid jika Anda memiliki host tertentu yang menghasilkan kunci host baru setiap kali reboot dan reboot untuk alasan yang sah beberapa kali sehari.sumber
-o StrictHostKeyChecking=no
menghapus kemampuan untuk masuk dengan kata sandi. Bukankah kurangnya bendera untuk ini secara langsung bertentangan dengan prinsip unix yang memungkinkan pengguna untuk memaksakan perilaku? Saat ini saya mencoba masuk ke mesin lokal dengan IP lokal. Kunci host berubah karena saya memformat ulang kata mesin. Semua yang ada di sini masuk akal dan tidak ada risiko keamanan dalam situasi ini.Untuk sepenuhnya mengabaikan file host yang dikenal di lingkungan POSIX, setel opsi
GlobalKnownHostsFile
danUserKnownHostsFile
ke/dev/null
:ssh -o GlobalKnownHostsFile=/dev/null -o UserKnownHostsFile=/dev/null user@host
Mengatur
StrictHostKeyChecking=no
opsi akan memungkinkan Anda untuk terhubung tetapi SSH masih akan menampilkan peringatan :ssh -o StrictHostKeyChecking=no user@host
Seperti yang telah dicatat oleh orang lain, mungkin lebih baik untuk mengatasi masalah yang mendasarinya. Anda dapat mempertimbangkan otentikasi sertifikat SSH untuk memverifikasi host, misalnya.
sumber
-o StrictHostKeyChecking=no
selain itu-o GlobalKnownHostsFile=/dev/null -o UserKnownHostsFile=/dev/null
pilihan - untuk jawaban akhir dari?:ssh -o GlobalKnownHostsFile=/dev/null -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no user@host
?Jika Anda telah menginstal ulang server dan karena itu Identifikasi telah berubah, Anda hanya perlu menghapus baris yang ditentukan dari 155
/Users/alexus/.ssh/known_hosts
dan lanjutkan.Jika Anda beralih di antara jaringan pribadi yang berbeda, Anda harus menggunakan nama host untuk terhubung sebagai gantinya, karena klien ssh juga akan menyimpan kunci tergantung pada nama host. Tambahkan sesuatu seperti ini ke
/etc/hosts
:dan kemudian gunakan
ssh server1
ketika terhubung ke subnet 1 danssh server2
ketika terhubung ke subnet2. Dengan cara ini, kedua server dapat memiliki host host yang berbeda.sumber
-o StrictHostKeyChecking=no
hanya berfungsi jika host belum ada dalam file known_hosts.Saya pikir ini lebih bersih (tidak ada peringatan), jika Anda mengharapkan kunci host untuk berubah mungkin karena vm kloning, untuk menegakkan mengabaikan jenis host seperti ini:
sumber
Beberapa orang mengatakan itu tidak benar, Anda tidak perlu melakukan ini dan seterusnya, tetapi saya perlu ini juga untuk menguji beberapa perangkat yang tertanam berulang-ulang. Anda perlu menonaktifkan
StrictHostKeyChecking=no
, ini benar, tetapi juga mengatur ulang file host yang dikenal/dev/null
. Di sini contoh dengan autologin danps
pada perangkat jarak jauh.sumber
Masuk ke semua server Anda, (dan jika RedHat)
rm -f /etc/ssh/ssh_host_*
kemudian mulai ulang SSHD.Ini akan membuat kunci host SSH baru yang tidak perlu diabaikan.
Saya bisa memikirkan hanya satu contoh di mana kunci SSH dikloning pada beberapa server tidak hanya diinginkan tetapi juga tidak membuang peringatan. Kelipatan satu catatan A. Semua host dengan catatan A memiliki kunci yang sama.
sumber