ssh-keyscan —
Einsammeln der öffentlichen
SSH-Schlüssel von Servern
ssh-keyscan
[
-46cDHv]
[
-f
Datei]
[
-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:
- -4
- Erzwingt, dass ssh-keyscan nur
IPv4-Adressen verwendet.
- -6
- Erzwingt, dass ssh-keyscan nur
IPv6-Adressen verwendet.
- -c
- Erbittet Zertifikate statt einfacher Schlüssel vom
Ziel-Rechner.
- -D
- 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.
-
-f
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:
- -H
- 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.
-
-p
Port
- Verbindet sich zu Port auf
der fernen Maschine.
-
-T
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.
-
-t
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.
- -v
- 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.
/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
<
[email protected]>
schrieb die ursprüngliche Version und
Wayne
Davison
<
[email protected]>
fügte die Unterstützung für Protokollversion 2 hinzu.
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann
<
[email protected]> 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:
[email protected]