Ich würde gerne sehen, welche Hosts sich in meiner Datei known_hosts befinden, aber sie scheint nicht von Menschen lesbar zu sein. Kann man es lesen?
Insbesondere gibt es einen Host, zu dem ich über mehrere Namen eine Verbindung herstellen kann, und ich möchte herausfinden, welchen Fingerabdruck ich von meiner bekannten Host-Datei erwarte.
Update: Ich verwende OpenSSH_5.3p1 Debian-3ubuntu7, OpenSSL 0.9.8k 25. März 2009
Eine Zeile aus meiner known_hosts-Datei sieht ungefähr so aus:
|1|guO7PbLLb5FWIpxNZHF03ESTTKg=|r002DA8L2JUYRVykUh7jcVUHeYE= ssh-rsa AAAAB3NzaC1yc2EAAFADAQABAAABAQDWp73ulfigmbbzif051okmDMh5yZt/DlZnsx3DEOYHu3Nu/+THJnUAfkfEc1XkOFiFgbUyK/08Ty0K6ExUaffb1ERfXXyyp63rpCTHOPonSrnK7adl7YoPDd4BcIUZd1Dk7HtuShMmuk4l83X623cr9exbfm+DRaeyFNMFSEkMzztBYIkhpA2DWlDkd90OfVAvyoOrJPxztmIZR82qu/5t2z58sJ6Jm2xdp2ckySgXulq6S4k+hnnGuz2p1klviYCWGJMZfyAB+V+MTjGGD/cj0SkL5v/sa/Fie1zcv1SLs466x3H0kMllz6gAk0/FMi7eULspwnIp65g45qUAL3Oj
Antworten:
Sie haben in Ihrer Datei den Wert
HashKnownHosts
"yes
" festgelegtssh_config
, sodass die Hostnamen nicht im Klartext verfügbar sind.Wenn Sie den gesuchten Hostnamen im Voraus kennen, können Sie ihn folgendermaßen suchen:
Hier ist der relevante Abschnitt aus der
ssh-keygen(1)
Manpage:quelle
22
, unterscheidet sich das Format inknown_hosts
. Dann müssen Sie den folgenden Befehl verwenden:ssh-keygen -H -F [host.example.com]:2222
Für zukünftige Sucher enthält dieser Artikel (Haftungsausschluss: Ich bin nicht verbunden) ein relativ einfaches Perl-Skript, mit dem IP-Adressen und Hostnamen brute-force gehasht werden können
known_hosts
.http://blog.rootshell.be/2010/11/03/bruteforcing-ssh-known_hosts-files/
Es ermöglicht das Starten von einer bestimmten IP-Adresse. Es könnte auch leicht geändert werden, um ein Wörterbuch zu verwenden.
Im Juni 2014 fügte das John the Ripper-Projekt die Unterstützung für Knacken bekannter_Hosts hinzu , wodurch mehrere CPU-Kerne, GPUs, Wörterbuchverwaltungen usw. genutzt werden können.
Sie können dieses nmap-Snippet auch verwenden, um ein Wörterbuch aller RFC1918-IP-Adressen zu generieren, die als Wörterbuch verwendet werden sollen:
quelle
Hilft das
ssh-keygen -l -f ~/.ssh/known_hosts
? (Unter Verwendung erhalten-v
Sie auch nette kleine Schatzkarten, zquelle
ssh-keygen -l -f ~/.ssh/known_hosts -F <hostname>
ssh-keygen -l -F <hostname>
Äh , ist noch einfacherAm Anfang jeder Zeile "known_hosts" (vor der Zeichenfolge "ssh-dss" oder "ssh-rsa") befindet sich die Hostzeichenfolge / ip:
quelle
awk '{print $1}' known_hosts
den Trick. Beachten Sie, dass Server, die nicht standardmäßige Ports überwachen, beispielsweise[some-server]:5555
inknown_hosts
.Verwenden Sie die
-l
Option zumssh-keygen
Auflisten von Fingerabdrücken und die-F
Option zum Suchen nach einem Hostnamen in Ihrerknown_hosts
Datei.Sie können
ssh-keyscan
den Fingerabdruck in Ihremknown_hosts
mit dem vom Server vergleichen.quelle