Saya mencoba menemukan skrip untuk mendekripsi (unhash) nama host ssh dalam file known_hosts dengan mengirimkan daftar hostnamses .
Jadi, untuk melakukan kebalikan dari :
ssh-keygen -H -f known_hosts
Atau juga, untuk melakukan hal yang sama seperti ini jika ssh config HashKnownHosts diatur ke Tidak:
ssh-keygen -R know-host.com -f known_hosts
ssh-keyscan -H know-host.com >> known_hosts
Tetapi tanpa mengunduh ulang kunci host (disebabkan oleh ssh-keyscan).
Sesuatu seperti:
ssh-keygen --decrypt -f known_hosts --hostnames hostnames.txt
Di mana hostnames.txt berisi daftar nama host.
ssh
encryption
hostname
ssh-keygen
Xorax
sumber
sumber
known_hosts
. Apa yang harus didekripsi?Jawaban:
Baris dalam
known_hosts
file tidak dienkripsi, mereka di-hash. Anda tidak dapat mendekripsi mereka, karena mereka tidak dienkripsi. Anda tidak dapat “unhash” mereka, karena apa hash adalah semua tentang - diberikan hash, itu impossible¹ untuk menemukan string asli. Satu-satunya cara untuk "melepas" adalah menebak string asli dan memverifikasi tebakan Anda.Jika Anda memiliki daftar nama host, Anda dapat meneruskannya
ssh-keygen -F
dan menggantinya dengan nama host.¹ Dalam arti praktis, yaitu akan mengambil semua komputer yang ada saat ini lebih lama dari zaman sekarang semesta untuk melakukannya.
sumber
Halaman manual ssh-keygen (1) mengatakan untuk
-F hostname
opsi:Ini sepertinya yang Anda inginkan.
sumber
known_hosts
file tersebutsed
.