Was ist Zufallsart, die von ssh-keygen produziert wird?

81513
dlamblin

Wenn Sie einen Schlüssel generieren, erhalten Sie "randomart" von neueren Versionen von OpenSSH. Ich kann keine Erklärung dafür finden, warum und wofür ich sie verwenden soll.

Generating public/private rsa key pair. The key fingerprint is: 05:1e:1e:c1:ac:b9:d1:1c:6a:60:ce:0f:77:6c:78:47 you@i The key's randomart image is: +--[ RSA 2048]----+ | o=. | | o o++E | | + . Ooo. | | + O B.. | | = *S. | | o | | | | | | | +-----------------+  Generating public/private dsa key pair. The key fingerprint is: b6:dd:b7:1f:bc:25:31:d3:12:f4:92:1c:0b:93:5f:4b you@i The key's randomart image is: +--[ DSA 1024]----+ | o.o | | .= E.| | .B.o| | .= | | S = .| | . o . .= | | . . . oo.| | . o+| | .o.| +-----------------+ 
330

5 Antworten auf die Frage

247
mark

Die Randomart ist für Menschen eine einfachere Möglichkeit, Schlüssel zu validieren.

Die Validierung wird normalerweise durch einen Vergleich bedeutungsloser Zeichenfolgen (dh der hexadezimalen Darstellung des Fingerabdrucks des Schlüssels) durchgeführt, die beim Vergleich ziemlich langsam und ungenau sind. Randomart ersetzt dies durch strukturierte Bilder, die schneller und einfacher zu vergleichen sind.

Dieser Artikel "Hash-Visualisierung: Eine neue Technik zur Verbesserung der Sicherheit in der realen Welt", Perrig A. und Song D., 1999, Internationaler Workshop zu kryptographischen Techniken und E-Commerce (CrypTEC '99) ", erläutert einige Techniken und Vorteile.

Wenn Sie einfach erklären könnten, warum Menschen Schlüssel validieren, könnte dies hilfreich sein, weil ich offenbar dazu neige, meinen öffentlichen Schlüssel in meine authorized_keys-Datei zu legen und damit fertig zu sein. dlamblin vor 14 Jahren 59
@dlamblin: Du würdest im Allgemeinen deine eigenen Schlüssel damit nicht verifizieren. Es ist jedoch nützlich, um den Host-Schlüssel einer Remote-Maschine zu überprüfen. Eine Idee ist, dass Sie, wenn Sie sich von verschiedenen Orten aus an einem bestimmten Computer anmelden (oder dessen Schlüssel nicht in Ihrer known_hosts-Datei speichern), die Art des Hostschlüssels erkennen können. Wenn sich diese Technik plötzlich geändert hat, sollten Sie vorsichtig sein, Ihr Passwort einzugeben, da dies bedeuten könnte, dass auf Ihrer Verbindung ein Man-in-the-Middle-Angriff durchgeführt wird (oder der Host hat gerade seine Schlüssel für einen anderen geändert Grund). Chris Johnsen vor 14 Jahren 37
Wann konnte ich die Kunst der Gastgeber sehen? (Ich glaube, ich habe es nie getan.) Ich habe ein solches Bild erst gesehen, nachdem ich mein Schlüsselpaar generiert hatte. Und mit was müsste ich es vergleichen, um "plötzliche" Veränderung zu erkennen. DerMike vor 13 Jahren 24
Ich würde wetten, dass die Randomart ein ähnliches Prinzip wie Hashes für Integritätsprüfungen einhält: Ein kleiner Unterschied in der Eingabe erzeugt eine völlig andere Ausgabe. Das würde bedeuten, dass Sie sich nur die grobe Form der erwarteten Zufallsart merken müssen, um feststellen zu können, dass etwas nicht stimmt. Natürlich funktioniert das in der Praxis nicht, wenn SSH ua nicht die zufällige Art des Hosts anzeigt, zu dem Sie eine Verbindung herstellen (dies sollte auch geschehen, wenn der Host bekannt ist). Alan Plum vor 13 Jahren 11
Ich denke, diese sind am nützlichsten, wenn nach Abschluss der Kopie öffentliche Schlüssel für eine Integritätsprüfung persönlich ausgetauscht werden. jordanpg vor 9 Jahren 2
@DerMike, wenn Sie es noch nicht gesehen haben, beantwortet eine andere Antwort Ihre Frage. chreekat vor 8 Jahren 0
9 Jahre später (ich bin alt) habe ich zu viele verschiedene Hosts, zu denen ich mich verbinde. Das Erkennen einer Änderung ist unwahrscheinlich. dlamblin vor 6 Jahren 1
178
Paul Murray

Hinzufügen

-o VisualHostKey=yes 

auf Ihre Befehlszeile oder setzen

VisualHostKey=yes 

in deiner ~/.ssh/config.

Sie sehen die Zufallsart der Box, in der Sie sich anmelden. Wenn Sie sich eines Tages anmelden und die zufällige Kunst anders ist (Ihr Gehirn sollte gehen, Hey! Ich erkenne das nicht!), Dann hackt vielleicht jemand oder so etwas.

Die Idee ist, dass Sie es nicht bewusst tun müssen. Einer der Schlüssel für eine unserer Maschinen sieht aus wie ein Schmetterling. Eine andere sieht irgendwie aus wie ein Schwanz (ja, unser Gehirn ist primitiv). Wenn Sie sich jeden Tag anmelden, gewöhnen Sie sich an die Bilder, ohne es zu versuchen.

Nicht gut. Wenn Sie sich bereits angemeldet haben, ist es für den Computer viel besser, die Erkennung mithilfe eines gespeicherten Fingerabdrucks für Sie durchzuführen. Diese Funktion dient nur zur Anmeldung an neuen Maschinen. Nicholas Wilson vor 11 Jahren 7
Viel zu spät zu dieser Antwort, aber es lohnt sich, darauf hinzuweisen, dass dies sehr nützlich sein würde, wenn Sie sich von einem anderen Computer aus anmelden würden, der nicht alle Ihre known_hosts hatte. In diesem Fall kann der Computer nicht überprüfen, ob er bekannt ist. Der Benutzer sollte jedoch in der Lage sein, zu erkennen, dass dies "anders aussieht als normal!". und abbrechen. Xkeeper vor 11 Jahren 50
Wenn die Erkennungszeit von Ihrem Computer übernommen wird, kann dies dazu führen, dass bekannte Hosts Ihres Computers gehackt werden. So wie Sie es nicht zulassen sollten, dass Ihr Computer Passwörter für Sie eingibt, sollten Sie den Schlüssel des Hosts selbst überprüfen. Marko Topolnik vor 8 Jahren 5
36
Nick

Offizielle Ankündigung: OpenSSH 5.1 veröffentlicht

Führen Sie die experimentelle SSH-Fingerabdruck-ASCII-Visualisierung in ssh (1) und ssh-keygen (1) ein. Die visuelle Fingerprinnt-Anzeige wird durch eine neue ssh_config (5) -Option "VisualHostKey" gesteuert. Die Absicht besteht darin, SSH-Host-Schlüssel in einer visuellen Form darzustellen, die ein einfaches Abrufen und Verwerfen geänderter Host-Schlüssel ermöglicht. Diese Technik inspirierte sich an den grafischen Hash-Visualisierungsschemata "Random Art [*]" und an Dan Kaminskys Überlegungen bei 23C3 in Berlin.

Die Fingerabdruckvisualisierung ist derzeit standardmäßig deaktiviert, da der Algorithmus, der zur Erstellung der Zufallsgrafik verwendet wird, noch geändert werden kann.

Dieser letzte Satz ist in der Tat wissenswert. [Informationen zu OpenBSD Journal @ Undeadly.org über die Veröffentlichung von OpenSSH 6.8] (http://undeadly.org/cgi?action=article&sid=20150320130957&mode=expanded): "Bitte beachten Sie, dass sich auch die visuellen Host-Schlüssel unterscheiden." Eine neuere Software zeigt andere Bilder als die Bilder der älteren Software. TOOGAM vor 8 Jahren 8
25
loomi

Eine ausführliche Analyse der VisualHostKey-Zufallsart finden Sie in der Kurzarbeit The Drunken Bishop .

10
tmangin

Der nach der ssh-keygen-Generierung angezeigte Randomart ist eine grafische Darstellung des gerade erzeugten Schlüssels. Dann:

  • Die Randomart ist für den Benutzer, der den ssh-Schlüssel generiert hat, nicht wirklich nützlich

  • Die Randomart kann für einen Benutzer sehr nützlich sein, der eine Verbindung über SSH verwendet, um häufig eine Verbindung zum selben Server herzustellen: Wenn er seinem SSH-Befehl die Option "-o VisualHostKey = yes" hinzugefügt hat:

    ssh user@domainname.com -o VisualHostKey = yes

Die dem öffentlichen Schlüssel des Servers entsprechende Zufallsart wird angezeigt.

Um ein Beispiel zu sehen, können Sie Folgendes versuchen:

ssh git@github.com -o VisualHostKey = yes

Wenn sich der Benutzer häufig mit demselben Server verbindet, kann er schnell und einfach prüfen, ob er den Randomart erkennt, der dem öffentlichen Schlüssel dieses Servers entspricht oder nicht. Das ist einfacher und schneller als das Überprüfen der Zeichenfolge des öffentlichen Schlüssels selbst!