Wie man SSH-Keyscan auf Ubuntu benutzt

Wie man SSH-Keyscan auf Ubuntu benutzt
SSH-Keyscan ist ein sehr nützliches Instrument, um die verfügbaren öffentlichen Tasten mehrerer Hosts zu sammeln. Der Hauptzweck dieses Tools besteht darin, die zu überprüfen Bekannt_Hosts Dateien. Die nicht blockierende Socket-E/A wird von diesem Tool verwendet, um mit der maximalen Anzahl der Hosts parallel zu verbinden. Die wichtigsten Informationen über die große Anzahl von Hosts können die Sammlung schnell sein, indem Sie dieses Tool verwenden, bei dem einige von ihnen ssh sein oder nicht verwenden können. SSH-Keyscan erfordert keine Anmeldung bei den Maschinen, aus denen der Schlüssel gescannt wird.

Syntax:

Die Syntax des SSH-Keyscan hat unten angegeben. Es unterstützt mehrere Optionen zum Scannen der Tasten.

ssh-keyscan [-46Chv] [-f-Datei] [-P-Port] [-t Timeout] [-t Typ] [Host | Addrlist Namelist]…

Die unterschiedliche Option von SSH-Keysan:

Die Zwecke der Verwendung verschiedener SSH-Keyscan-Optionen werden nachstehend beschrieben.

Möglichkeit Zweck
-4 Es wird verwendet, um SSH-Keyscan für die Verwendung von IPv4-Adressen zu zwingen.
-6 Es wird verwendet, um SSH-Keyscan für die Verwendung von IPv6-Adressen zu zwingen.
-C Es wird verwendet, um Zertifikate von Zielhosts anzufordern.
-f Datei Es wird verwendet, um die Hosts oder "AddRList Namelist" -Paare aus der Datei abzurufen.
-H Es wird verwendet, um alle Hostnamen und Adressen in der Ausgabe zu haben.
-p Port Es wird verwendet, um den Remote -Host mit einem bestimmten Port zu verbinden.
-T Auszeit Es wird verwendet, um die Zeitüberschreitung für die Verbindungsversuche festzulegen. Der Standard -Timeout -Wert 5.
-t Typ Es wird verwendet, um den Schlüsseltyp zu definieren, der von den gescannten Hosts abgerufen wird. Die Typwerte können RSA, DSA, ECDSA usw. sein.
-v Es wird verwendet, um Debugging -Nachrichten über den Fortschritt des Scans zu drucken.

Die am häufigsten verwendeten Optionen des SSH-Keyscan-Befehls haben im nächsten Teil dieses Tutorials gezeigt.

Voraussetzungen:

Bevor Sie den nächsten Teil dieses Tutorials beginnen, müssen Sie ein oder mehrere SSH -Schlüsselpaare erstellen, um die in diesem Tutorial verwendeten Befehle zu testen. Führen Sie die folgenden Schritte aus, bevor Sie einen SSH-Keyscan-Befehl ausführen.

  1. Aktivieren Sie den SSH -Dienst auf Ubuntu, wenn er vorher nicht aktiviert ist. Zwei lokale Benutzerkonten von Ubuntu wurden hier als Clientmaschine und Servermaschine verwendet.
  2. Generieren Sie die Mehrfach -SSH -Schlüsselpaare auf der Servermaschine mit der ssh-keygen Befehl, der den öffentlichen Schlüssel und den privaten Schlüssel schafft. Die privaten Schlüssel werden auf dem Remote -Server gespeichert, und die öffentlichen Schlüssel werden im Client sicher gespeichert.
  3. Fügen Sie als nächstes die öffentlichen Schlüssel zum Kundenautomaten hinzu.

Führen Sie SSH-Keyscan auf unterschiedliche Weise aus, um die Schlüssel zu scannen:

Sie müssen sich beim Client-Computer anmelden, um die in diesem Tutorial verwendeten SSH-Keyscan-Befehle zu überprüfen. Führen Sie zunächst Folgendes aus ssh-keyscan Befehl ohne Option, alle öffentlichen Schlüssel aus der IP -Adresse 10 zu lesen.0.2.15. Die Ausgabe des Befehls kann basierend auf der IP -Adresse oder dem im Befehl verwendeten Hostnamen variieren. Da im Befehl kein Schlüsseltyp definiert wurde, wird alle Tasten abgerufen, die während des Scans gefunden wurden.

$ ssh-keyscan 10.0.2.10

Die Ausgabe zeigt, dass verschiedene Schlüssel durch den obigen Befehl wie RSA, ECDSA und ED25519 gescannt werden.

Leiten Sie Folgendes aus ssh-keyscan Befehl mit der Option -P, um alle öffentlichen Schlüssel aus der IP -Adresse 10 zu lesen.0.2.15 bei Hafennummer 22. Wie im vorherigen Befehl kann die Ausgabe des Befehls basierend auf der IP -Adresse oder dem im Befehl verwendeten Hostnamen variieren.

$ ssh -keyscan -p 22 10.0.2.15

Die Ausgabe zeigt die verschiedenen Schlüssel, die mit der Portnummer 22 nach dem obigen Befehl gescannt wurden. Alle SSH-Keyscan-Befehle in diesem Tutorial wurden auf dem lokalen Server ausgeführt, der nur die Portnummer 22 unterstützt. Die Ausgabe des SSH -Keyscan -Befehls ohne Option und mit der Option -P ist also gleich.

Leiten Sie Folgendes aus ssh-keyscan Befehl mit Die -t Option zum Lesen aller öffentlichen Schlüssel der RSA Geben Sie aus der IP -Adresse 10 ein.0.2.15. Wie im vorherigen Befehl kann die Ausgabe des Befehls basierend auf der IP -Adresse oder dem im Befehl verwendeten Hostnamen variieren. Alle Arten von öffentlichen Schlüssel wurden aus der jeweiligen IP -Adresse in den beiden vorherigen Befehlen abgerufen. Die Ausgabe des hier verwendeten Befehls wird jedoch nur alle rsa-key-bezogenen Informationen abrufen.

$ ssh -keyscan -t RSA 10.0.2.15

Die folgende Ausgabe zeigt, dass es einen gibt RSA öffentlicher Schlüssel, der in der IP -Adresse vorhanden ist, 10.0.2.15.

Wenn Sie die aktualisieren möchten Bekannt_Hosts Datei mit dem Fingerabdruck des jeweiligen Hostnamens oder der IP -H Option mit dem ssh-keyscan Befehl. Führen Sie den folgenden Befehl aus, um die zu aktualisieren Bekannt_Hosts Datei im Pfad, ~/.SSH/PAWN_HOSTS, mit dem gescannten Fingerabdruck in der IP -Adresse, 10.0.2.15.

$ ssh -keyscan -h 10.0.2.15 >> ~//.SSH/PRAUTE_HOSTS

Die folgende Ausgabe zeigt, dass fünf Einträge in der beigefügt wurden Bekannt_Hosts Datei.

Die mehrfachen Optionen können mit dem Befehl ssh-keyscan verwendet werden. Führen Sie den folgenden Befehl aus, um die abzurufen RSA Schlüssel aus dem Bekannt_Hosts Datei und senden Sie die Ausgabe an die Sortieren Befehl zum Drucken der eindeutigen sortierten Werte der RSA Schlüssel. Dabei wurden zwei Optionen verwendet ssh-keyscan Befehl. Der -T Option wurde verwendet, um die abzurufen RSA Schlüssel und die -F Die Option wurde verwendet, um die Schlüssel aus dem abzurufen Bekannt_Hosts Datei. Das Rohr (|) hat den Befehl verwendet, um das abgerufene Senden zu senden RSA Schlüssel aus der Datei zum Befehl sortieren.

$ ssh -keyscan -t RSA -f ~/.SSH/PRAUTE_HOSTS | sortieren -u ~//.SSH/PRAUTE_HOSTS

Die folgende Ausgabe zeigt, dass vier RSA -Tasten aus der Datei bekannt_hosts abgerufen wurden und die Schlüssel in sortierter Reihenfolge gedruckt wurden.

Abschluss:

Die verschiedenen Möglichkeiten zum Scannen der öffentlichen Schlüssel vom Client-Computer mit dem Befehl ssh-keyscan wurden in diesem Tutorial mit den beiden lokalen Konten des Localhost beschrieben. Sie können den gleichen Prozess befolgen, um die öffentlichen Schlüssel des Remote -Hosts zu scannen.