
In ssh
Clients .ssh/knwon_hosts
kann die Datei einfachen Text verwenden (dies geschieht beispielsweise in FreeBSD 12.0):
<ip_address> ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEIlD8R6Kxj9CdToar+3ay4B0yE65dP0EYoRJjEEgLjmvCTIv59DBp+0j2z0+NM0hxxJew79i1bYuN02lEvT2/E=
oder es kann gehasht werden (wie in Ubuntu 18.04):
|1|3Et6QShrP2OrD4tWdOGP3jy3YC4=|f2FrJ5tOjjmFSrGWyen1DokJyLc= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIyZLGNvIADWL5SSkohBmDCVpLUzAHNejqQAXP3SSY300YIdNKCn3jqGmFAJiKB1CY0HnVirgFjdAKpyw3+6yzo=
Frage 1
Ist es möglich, die Klartextzeilen aus einem Hashwert zu erhalten known_hosts
?
Ubuntusshd-Manpagebesagt, dass:
In einer einzelnen Zeile darf nur ein gehashter Hostname erscheinen und keiner der oben genannten Negations- oder Platzhalteroperatoren darf angewendet werden.
Ich bin nicht sicher, was hier gemeint ist.
Frage 2
Bedeutet das, dass Adressen wie 192.168.*.*
niemals in der gehashten Form von akzeptiert werden können known_hosts
, selbst wenn sie als einfacher Text erstellt und dann manuell gehasht werden?
Wie in einemvorherige Frage, ich verwende diese Clients: OpenSSH_7.8p1, OpenSSL 1.1.1a-freebsd 20 Nov 2018
und OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017
.
Antwort1
Nein und ja, in dieser Reihenfolge. Der Zweck des Hashens der Zeile besteht darin, die Hosts zu verschleiern, mit denen Sie zuvor verbunden waren. Der eigentliche Zweck der Hash-Funktion besteht also darin, es (aus praktischen Gründen) unmöglich zu machen, festzustellen, welcher Hostname dazu gehört.
Im weiteren Sinne können Sie Platzhalter nicht wirklich mit gehashten Hostnamen verwenden: Wenn ich eine Verbindung zu herstellen möchte webhost47
und die Zeilen gehasht sind, wie finde ich dann überhaupt heraus, dass es eine Zeile gibt, die mit übereinstimmt webhost*
? Ein Hash ist eine Falltür, ich kann diese Zeile nur durch Hashen webhost*
und Prüfen finden. Aber ich müsste auch nach ?ebhost47
, w?bhost47
, ??bhost47
, usw. usw. suchen, also ist das nicht wirklich sinnvoll.
(Ich denke, der Kommentar bedeutet auch, dass man nicht
hashblurb1,hashblurb2 ssh-rsa …
mit gehashten Hostnamen, obwohl Sie haben können
hostname1,hostname2 ssh-rsa …
und ich sehe im Moment keinen technischen Grund, warum das nicht möglich sein könnte.)