Ich versuche ein Skript zu finden, um die ssh-Hostnamen in der Datei known_hosts zu entschlüsseln ( zu entschlüsseln ), indem ich eine Liste der Hostnamen übergebe .
Um genau das Gegenteil von :
ssh-keygen -H -f known_hosts
Oder machen Sie dasselbe, wenn die ssh config HashKnownHosts auf No gesetzt ist:
ssh-keygen -R know-host.com -f known_hosts
ssh-keyscan -H know-host.com >> known_hosts
Aber ohne den Host-Schlüssel erneut herunterzuladen (verursacht durch ssh-keyscan).
Etwas wie:
ssh-keygen --decrypt -f known_hosts --hostnames hostnames.txt
Wobei hostnames.txt eine Liste von Hostnamen enthält.
ssh
encryption
hostname
ssh-keygen
Xorax
quelle
quelle
known_hosts
. Was ist zu entschlüsseln?Antworten:
Zeilen in der
known_hosts
Datei werden nicht verschlüsselt, sondern gehasht. Sie können sie nicht entschlüsseln, da sie nicht verschlüsselt sind. Sie können sie nicht "enthüllen", weil das, worum es bei einem Hash geht, angesichts des Hashs unmöglich ist, die ursprüngliche Zeichenfolge zu entdecken. Die einzige Möglichkeit zum "Aufheben" besteht darin, die ursprüngliche Zeichenfolge zu erraten und Ihre Vermutung zu bestätigen.Wenn Sie über eine Liste von Hostnamen verfügen, können Sie diese weitergeben
ssh-keygen -F
und durch den Hostnamen ersetzen.¹ Im praktischen Sinne, dh es würde alle Computer, die heute existieren, länger als das gegenwärtige Zeitalter des Universums brauchen, um dies zu tun.
quelle
In der Manpage von ssh-keygen (1) steht für die
-F hostname
Option:Das scheint das zu sein, was du willst.
quelle
known_hosts
Datei durch ersetzensed
.