Saya menjalankan desktop Ubuntu dengan sekelompok server virtual di Virtual Box untuk menguji hal-hal, dll. Di masa lalu saya juga telah terhubung ke jenis lain dari kotak VPS Linux jarak jauh. Saat ini .ssh/known_hosts
file saya memiliki sejumlah kunci di dalamnya, yang sebagian besar tidak digunakan lagi.
Saya ingin membersihkan .ssh/known_hosts
file saya , tetapi bagaimana saya tahu kunci mana yang dimiliki oleh host apa? Yaitu bagaimana saya tahu kunci mana yang dapat saya lepaskan dengan aman dan mana yang harus saya tinggalkan sendiri?
ssh-keyscan
memiliki aturan pemformatanlist_of_hosts
file yang sangat ketat . Perlu hanya addres dan tidak ada spasi lain maka LF setelah setiap alamat. Itu termasuk LF setelah alamat terakhir. Kalau tidak, Anda mendapatkan banyak sampah di file yang dihasilkan.Dengan susah payah ...
Ubuntu secara default mem-hash nama host pada file known_hosts (ini bukan perilaku openssh default), untuk mempersulit siapa pun yang membaca file untuk mengetahui sistem apa yang Anda akses.
Jika Anda benar-benar ingin membersihkan file, opsi paling sederhana mungkin hanya menghapusnya dan memeriksa kunci untuk server yang Anda tahu saat mereka muncul, tetapi sebenarnya saya hanya akan meninggalkan known_hosts sendirian.
Anda dapat menghentikan entri host baru dari hash dengan mengomentari opsi di / etc / ssh / ssh_config
sumber
ssh root@something-new-or-new-dns-alias
. Ini akan menyegarkanknown_hosts
file asli dan menghapus crypt nama host / IP.Saya memiliki lebih dari 300 entri lama yang sudah basi di file known_hosts saya. Tidak yakin itu akan bekerja untuk semua sistem (atau bahkan sebagian besar sistem) tapi di sini adalah skrip Q&D saya. Anda mungkin harus menyesuaikan string atau lokasi yang cocok.
sumber
known_hosts
file hash , dan karena si penanya bertanya, "bagaimana saya tahu kunci mana yang dimiliki host apa" Saya pikir sangat mungkin file itu di-hash. Dia mengatakan dia di Ubuntu, dan seperti yangtheotherreceive
dikatakan, hash Ubuntu secara default.