Solusi 1:
IMO, cara terbaik untuk melakukannya adalah sebagai berikut:
ssh-keygen -R [hostname]
ssh-keygen -R [ip_address]
ssh-keygen -R [hostname],[ip_address]
ssh-keyscan -H [hostname],[ip_address] >> ~/.ssh/known_hosts
ssh-keyscan -H [ip_address] >> ~/.ssh/known_hosts
ssh-keyscan -H [hostname] >> ~/.ssh/known_hosts
Itu akan memastikan tidak ada entri duplikat, bahwa Anda tercakup untuk nama host dan alamat IP, dan juga akan mencirikan keluaran, tindakan keamanan tambahan.
Solusi 2:
Tetapkan StrictHostKeyChecking
pilihan untuk no
, baik di file konfigurasi atau melalui -o
:
ssh -o StrictHostKeyChecking=no [email protected]
Solusi 3:
Untuk yang malas:
ssh-keyscan -H <host> >> ~/.ssh/known_hosts
-H hash nama host / alamat IP
Solusi 4:
Seperti yang disebutkan, menggunakan pemindaian kunci akan menjadi cara yang tepat &tidak mengganggu untuk melakukannya.
ssh-keyscan -t rsa,dsa HOST 2>&1 | sort -u - ~/.ssh/known_hosts > ~/.ssh/tmp_hosts
mv ~/.ssh/tmp_hosts ~/.ssh/known_hosts
Di atas akan melakukan trik untuk menambahkan host, HANYA jika belum ditambahkan. Itu juga tidak aman untuk konkurensi; Anda tidak boleh jalankan cuplikan pada mesin asal yang sama lebih dari sekali pada waktu yang sama, karena file tmp_hosts dapat dihancurkan, yang pada akhirnya menyebabkan file known_hosts menjadi membengkak...
Solusi 5:
Anda bisa menggunakan ssh-keyscan
perintah untuk mengambil kunci publik dan menambahkannya ke known_hosts
Anda berkas.