GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Verwendung von ssh-keyscan unter Ubuntu

ssh-keyscan ist ein sehr nützliches Tool zum Sammeln der verfügbaren öffentlichen Schlüssel von mehreren Hosts. Der Hauptzweck dieses Tools ist die Verwendung der known_hosts Dateien. Die nicht blockierende Socket-E/A wird von diesem Tool verwendet, um eine Verbindung mit der maximalen Anzahl von Hosts parallel herzustellen. Die Schlüsselinformationen der großen Anzahl von Hosts können mit diesem Tool schnell gesammelt werden, und einige von ihnen sind möglicherweise nicht verfügbar oder verwenden möglicherweise kein SSH. ssh-keyscan erfordert keine Anmeldung an den Computern, von denen der Schlüssel gescannt wird.

Syntax:

Die ssh-keyscan-Syntax ist unten angegeben. Es unterstützt mehrere Optionen für das Scannen von Schlüsseln.

ssh-keyscan [-46cHv] [-f Datei] [-p Port] [-T Zeitüberschreitung] [-t Typ] [Host | addrlist namelist] …

Die andere Option von ssh-keysan:

Die Verwendung der verschiedenen ssh-keyscan-Optionen wird unten beschrieben.

Gelegenheit Zweck
-4 Es wird verwendet, um ssh-keyscan zu zwingen, nur IPv4-Adressen zu verwenden.
-6 Es wird verwendet, um ssh-keyscan zu zwingen, nur IPv6-Adressen zu verwenden.
-C Es wird verwendet, um Zertifikate von Zielhosts anzufordern.
-f Datei Es wird verwendet, um die Hosts oder „adrlist namelist“-Paare aus der Datei zu erhalten.
-H Es wird verwendet, um alle Hostnamen und Adressen in der Ausgabe zu hashen.
-p Port Es wird verwendet, um den Remote-Host mit einem bestimmten Port zu verbinden.
-T Zeitüberschreitung Es wird verwendet, um das Timeout für Verbindungsversuche einzustellen. Der Standardwert für das Zeitlimit ist 5.
-t eingeben Es wird verwendet, um den Schlüsseltyp zu definieren, der von den zu scannenden Hosts erhalten wird. Die Typwerte können rsa, dsa, ecdsa usw. sein.
-v Es wird verwendet, um Debug-Meldungen über den Fortschritt des Scans auszudrucken.

Die am häufigsten verwendeten Optionen des Befehls ssh-keyscan werden im nächsten Teil dieses Tutorials gezeigt.

Anforderungen:

Bevor Sie mit dem 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. Bevor Sie einen ssh-keyscan-Befehl ausführen, gehen Sie wie folgt vor.

  1. Aktivieren Sie den SSH-Dienst auf Ubuntu, wenn er nicht zuvor aktiviert wurde. Hier wurden zwei lokale Ubuntu-Benutzerkonten als Client-Rechner und als Server-Rechner verwendet.
  2. Generieren Sie die mehreren SSH-Schlüsselpaare auf dem Servercomputer mit ssh-keygen Befehl, der den öffentlichen Schlüssel und den privaten Schlüssel erstellt. Die privaten Schlüssel werden auf dem Remote-Server und die öffentlichen Schlüssel sicher im Client gespeichert.
  3. Als nächstes fügen Sie die öffentlichen Schlüssel zum Client-Rechner hinzu.

Führen Sie ssh-keyscan auf verschiedene Arten aus, um die Schlüssel zu scannen:

Sie müssen sich beim Clientcomputer anmelden, um die in diesem Lernprogramm verwendeten ssh-keyscan-Befehle zu überprüfen. Führen Sie zuerst Folgendes aus:ssh-keyscan Befehl ohne Option zum Lesen aller öffentlichen Schlüssel von der IP-Adresse 10.0.2.15. Die Ausgabe des Befehls kann je nach der im Befehl verwendeten IP-Adresse oder dem Hostnamen variieren. Da im Befehl kein Schlüsseltyp definiert wurde, werden alle beim Scan gefundenen Schlüssel abgerufen.

$ ssh-keyscan 10.0.2.10

Die Ausgabe zeigt, dass der obige Befehl verschiedene Schlüssel scannt, wie z. B.:B. rsa, ecdsa und ed25519.

Führen Sie den folgenden ssh-keyscan durch Befehl mit der Option -p, um alle öffentlichen Schlüssel von der IP-Adresse 10.0.2.15 auf Portnummer 22 zu lesen. Wie beim vorherigen Befehl kann die Ausgabe des Befehls je nach der im Befehl verwendeten IP-Adresse oder dem Hostnamen variieren.

$ ssh-keyscan -P 22. 10.0.2.15

Die Ausgabe zeigt die verschiedenen Schlüssel, die mit dem obigen Befehl auf Port Nummer 22 gescannt wurden. Alle ssh-keyscan-Befehle in diesem Tutorial wurden auf dem lokalen Server ausgeführt, der nur Portnummer 22 unterstützt. Daher ist die Ausgabe des ssh-keyscan-Befehls ohne Option und mit der Option -p dieselbe.

Führen Sie den folgenden ssh-keyscan durch Befehlen Sie mit das -t Option zum Lesen aller öffentlichen Schlüssel der rsa Geben Sie 10.0.2.15 von der IP-Adresse ein. Wie beim vorherigen Befehl kann die Ausgabe des Befehls abhängig von der im Befehl verwendeten IP-Adresse oder dem Hostnamen variieren. Alle Arten von öffentlichen Schlüsseln wurden in den beiden vorherigen Befehlen von ihren jeweiligen IP-Adressen abgerufen. Aber die Ausgabe des hier verwendeten Befehls holt nur alle rsa-key-bezogenen Informationen.

$ ssh-keyscan -T rsa 10.0.2.15

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

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

$ ssh-keyscan -H 10.0.2.15>> ~/.ssh/known_hosts

Die folgende Ausgabe zeigt, dass fünf Einträge an known_hosts angehängt wurden Datei.

Die mehreren Optionen können mit dem Befehl ssh-keyscan verwendet werden. Führen Sie den folgenden Befehl aus, um die rsa abzurufen Schlüssel von known_hosts Datei und senden Sie die Ausgabe an Sortieren nach Befehl zum Drucken der eindeutigen sortierten Werte der rsa Taste. Zwei Optionen wurden verwendet ssh-keyscan Befehl. das -T Option wurde verwendet, um die rsa zu ändern Taste und das -F Die Option wurde verwendet, um die Schlüssel von den known_hosts zu erhalten Datei. Die Pipe (|) verwendete den Befehl, um die rsa abzurufen Schlüssel aus der Datei für den Sortierbefehl.

$ ssh-keyscan -T rsa -F ~/.ssh/bekannte_Hosts | sortieren nach -u ~/.ssh/known_hosts

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

Diplom:

Die verschiedenen Möglichkeiten zum Scannen der öffentlichen Schlüssel vom Client-Rechner mit dem Befehl ssh-keyscan wurden in diesem Tutorial mit den beiden lokalen Accounts des localhost beschrieben. Sie können den gleichen Vorgang ausführen, um die öffentlichen Schlüssel des Remote-Hosts zu scannen.


Ubuntu
  1. So verwenden Sie den Su-Befehl unter Linux

  2. So verwenden Sie den Uptime-Befehl in Ubuntu Linux

  3. So verwenden Sie den tail-Befehl in Ubuntu Linux

  4. So verwenden Sie den String-Befehl in Ubuntu

  5. Verwendung des netplan-Befehls unter Ubuntu

So installieren und verwenden Sie Busybox in Ubuntu

So verwenden Sie Ubuntu

So verwenden Sie GDB zum Debuggen von Programmen in Ubuntu 20.04

So verwenden Sie den PS-Befehl

So verwenden Sie den TOP-Befehl

So installieren und verwenden Sie den Exa-Befehl unter Ubuntu 20.04