~ / .ssh / authorized_keys [2] enthält die Liste der öffentlichen Schlüssel.
Leider gibt jeder öffentliche Schlüssel nicht die Schlüsselstärke (Anzahl der Bits) an.
Gibt es ein Dienstprogramm, das diese Datei zeilenweise verarbeiten und die Schlüsselstärke ausgeben kann?
Ich habe nach Manpages gesucht ssh-keygen
, aber es sieht so aus, als würde es nur mit privaten Schlüsseln funktionieren.
Gibt es auch ein Tool, das sha1-Hash so ausgibt, wie es im pageant
Putty-Tool angezeigt wird ?
Das Format, das ich suche:
Key Algorithm Strength Hash Comment
ssh-rsa 2048 00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff user1@host1
ssh-rsa 2048 11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff:11 user2@host2
ssh-keygen
die Datei einfach mit der gesamten Datei füttern können . Siehe meine Antwort unten .Antworten:
ssh-keygen kann den Kern der Arbeit erledigen (Erzeugen eines Fingerabdrucks aus einem öffentlichen Schlüssel), verarbeitet jedoch nicht automatisch eine Liste mit mehreren Schlüsseln, wie dies normalerweise in einer
authorized_keys
Datei der Fall ist.Hier ist ein Skript, das die Schlüssel aufteilt, sie an ssh-keygen weiterleitet und die gewünschte Tabelle erstellt:
quelle
tmp="$(mktemp -t fingerprint-authkeys)"
muss geändert werden intmp="$(mktemp -t fingerprint-authkeys.XXX)"
mktemp(1)
Notwendigkeit der Xs: FreeBSD , Mac OS X . Wenn Sie sie jedoch hinzufügen, wird dies nicht das Verhalten derjenigen beeinträchtigen, die sie nicht benötigen (sie landen nur mit einem X vor dem zufälligen Suffix)./home/steve/.scripts/key-strength: line 36: $1: unbound variable
-l
Option ist wirklich das, wonach ich gesucht habe! Trotzdem ist es unglaublich, dass Sie nichts an ssh-keygen weiterleiten undMUST
Dateien auf der Festplatte haben können.ssh-keygen
die gesamte Datei einspeisen können . Siehe meine Antwort unten .ssh-keygen
in openssh-7.2 (derzeit mindestens in Fedora und Ubuntu Xenial) unterstützt das Lesen mehrerer Schlüssel aus einer einzelnen Datei. Deshalb einfach laufenergibt die gewünschte Ausgabe.
quelle
Wenn Sie zsh haben, können Sie dies als Einzeiler tun:
quelle
Extrapolieren einer bash-Lösung aus der zsh-Lösung
fast ... Das sollte funktionieren, aber ssh-keygen scheint es nicht zu mögen, direkt von der generierten fd zu lesen. Wenn Sie eine temporäre Datei für die <(-Umleitung verwenden, funktioniert dies dann. Warum?
dann kannst du das natürlich leichter schreiben und glücklich sein
quelle
Skript zum
authorized_keys
Auflisten aller Fingerabdrücke aus der von saravana erstellten Datei:quelle