Scroll to navigation

SSH-KEYSCAN(1) General Commands Manual SSH-KEYSCAN(1)

BEZEICHNUNG

ssh-keyscan
Einsammeln der öffentlichen SSH-Schlüssel von Servern

ÜBERSICHT

ssh-keyscan [-46cDHv] [-f Datei] [-p Port] [-T Zeitüberschreitung] [-t Typ] [Rechner | Adressliste Namensliste]

BESCHREIBUNG

ssh-keyscan ist ein Hilfswerkzeug für das Einsammeln öffentlicher SSH-Rechnerschlüssel von einer Reihe von Rechnern. Es wurde zur Hilfe beim Aufbauen und Überprüfen von ssh_known_hosts -Dateien entwickelt, deren Format in sshd(8) dokumentiert ist. ssh-keyscan stellt eine minimale Schnittstelle bereit, die zum Einsatz in Shell- oder Perl-Skripten geeignet ist.

ssh-keyscan verwendet nicht blockierendes Socket-E/A, um so viele Rechner wie möglich parallel zu kontaktieren. Es ist daher sehr effizient. Die Schlüssel einer Domain von 1.000 Rechnern können innerhalb von einigen zehn Sekunden eingesammelt werden, selbst wenn einige dieser Rechner ausgeschaltet sind oder sshd(8) nicht ausführen. Zum Scannen wird kein Anmeldezugriff auf die gescannten Maschinen benötigt. Auch benötigt der Scanning-Prozess keinerlei Verschlüsselung.

Folgende Optionen stehen zur Verfügung:

Erzwingt, dass ssh-keyscan nur IPv4-Adressen verwendet.
Erzwingt, dass ssh-keyscan nur IPv6-Adressen verwendet.
Erbittet Zertifikate statt einfacher Schlüssel vom Ziel-Rechner.
Gibt gefundene Schlüssel als SSHFP-DNS-Datensätze aus. Die Vorgabe ist die Ausgabe der Schlüssel in einem Format, das für die Datei known_hosts von ssh(1) geeignet ist.
Datei
Liest Rechner oder “Adressliste-Namensliste” -Paare aus der Datei, eine pro Zeile. Falls ‘-’ anstatt eines Dateinamens bereitgestellt ist, dann wird ssh-keyscan aus der Standardeingabe lesen. Die Eingabe wird in folgendem Format erwartet:
1.2.3.4,1.2.4.4 Name.meine.Domain,Name,n.meine.Domain,n,1.2.3.4,1.2.4.4
    
Hasht alle Rechnernamen und Adressen in der Ausgabe. Gehashte Namen können ganz normal von ssh(1) und sshd(8) verwandt werden, sie geben aber keine Informationen preis, falls der Inhalt der Datei offengelegt werden sollte.
Port
Verbindet sich zu Port auf der fernen Maschine.
Zeitüberschreitung
Setzt die Zeitüberschreitung (in Sekunden) für Verbindungsversuche. Falls der Verbindungsaufbau mehr als diese Zeitspanne in Anspruch nimmt oder seit dieser Zeitspanne nichts mehr von dem Rechner empfangen wurde, wird die Verbindung geschlossen und der Rechner als nicht verfügbar betrachtet. Der Standardwert ist 5 Sekunden.
Typ
Gibt den Typ des vom gescannten Rechner abzuholenden Schlüssels an. Die möglichen Werte sind “dsa”, “ecdsa”, “ed25519” und “rsa”. Es können mehrere Werte angegeben werden, indem diese durch Kommata abgetrennt werden. Die Vorgabe ist das Abholen von “rsa” -, “ecdsa” - und “ed25519” -Schlüsseln.
Ausführlicher Modus: Ausgabe von Fehlersuchnachrichten über den Fortschritt.

Falls mittels ssh-keyscan eine Datei »ssh_known_hosts« erstellt wird, ohne die Schlüssel zu überprüfen, sind die Benutzer durch Man-In-The-Middle -Angriffe verwundbar. Wenn das Sicherheitsmodell andererseits ein solches Risiko erlaubt, kann ssh-keyscan nach dem Anlegen der Datei »ssh_known_hosts« bei der Erkennung manipulierter Schlüsseldateien oder seit Erstellung der Datei neu begonnenen Man-In-The-Middle-Angriffen helfen.

DATEIEN

/etc/ssh/ssh_known_hosts

BEISPIELE

Gibt den RSA-Rechnerschlüssel für Maschine Rechnername aus:

$ ssh-keyscan -t rsa Rechnername

Findet alle Rechner aus der Datei ssh_hosts, die über neuere oder geänderte Schlüssel gegenüber denen in der sortierten Datei ssh_known_hosts verfügen:

$ ssh-keyscan -t rsa,dsa,ecdsa,ed25519 -f ssh_hosts | \
	sort -u - ssh_known_hosts | diff ssh_known_hosts -

SIEHE AUCH

ssh(1), sshd(8) Der Einsatz von DNS, um Schlüsselfingerabdrücke der Sicheren Shell (SSH) sicher zu veröffentlichen, RFC 4255, 2006.

AUTOREN

David Mazieres <dm@lcs.mit.edu> schrieb die ursprüngliche Version und Wayne Davison <wayned@users.sourceforge.net> fügte die Unterstützung für Protokollversion 2 hinzu.

Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer

$Mdocdate: 30. November 2019 $ Linux 4.19.0-16-amd64