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

ssh-keyscanEinsammeln der öffentlichen SSH-Schlüssel von Servern

ÜBERSICHT

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

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.

Die Rechner, nach denen gesucht wird, können durch den Rechnernamen, die Adresse oder den CIDR-Netzwerkbereich angegeben werden (z.B. 192.168.16/28). Falls ein Netzwerkbereich angegeben ist, dann werden alle Adressen in diesem Bereich durchsucht.

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. Aus einer Datei gelesene Namen müssen mit einer zu suchenden Adresse, einem Rechnernamen oder einem zu durchsuchenden CIDR-Netzwerkbereich beginnen. Auf Adressen und Rechnernamen darf optional ein Komma-getrennter Name oder Adressalias folgen, der in die Ausgabe kopiert wird. Beispiel:
192.168.11.0/24
10.20.1.1
happy.example.org
10.0.0.1,sad.example.org
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.
Option
Gibt eine Schlüssel/Wert-Option an. Derzeit wird nur eine einzige Option unterstützt:
=Algorithmus
Wählt einen beim Ausgeben von SSHFP-Datensätzen mittels des Schalters -D zu verwendenden Hash-Algorithmus aus. Gültige Algorithmen sind »sha1« und »sha256«. Standardmäßig werden beide ausgegeben.
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”, “ecdsa-sk”, “ed25519-sk” und “rsa”. Es können mehrere Werte angegeben werden, indem diese durch Kommata abgetrennt werden. Die Vorgabe ist das Abholen von “rsa” -, “ecdsa” -, “ed25519” -, “ecdsa-sk” - und “ed25519-sk” -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 -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.

/etc/ssh/ssh_known_hosts

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

$ ssh-keyscan -t rsa Rechnername

Einen Netzwerkbereich durchsuchen und alle unterstützten Schlüsseltypen ausgeben:

$ ssh-keyscan 192.168.0.64/25

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 -

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

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.

ÜBERSETZUNG

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: debian-l10n-german@lists.debian.org

$Mdocdate: 10. Februar 2023 $ Linux 6.9.7-arch1-1