2016-04-04 13 views
-1

Ich möchte einen Fingerabdruck meiner SSH-Schlüsseldatei haben, die ein privater Schlüssel (PEM-Datei) ist.SSH-Schlüssel * .pem Fingerabdruck erhalten?

Ich habe versucht, folgende this und that Beratung:

key=$(ssh-keygen -yf lony.pem) | echo $key | ssh-keygen -lf /dev/stdin <<<"$key" 

int diesen Fehler Resultierende:

/dev/stdin is not a public key file.

Die Schlüsseldatei wie folgt aussieht:

-----BEGIN RSA PRIVATE KEY-----
..
-----END RSA PRIVATE KEY-----

Wie kann ich den Fingerabdruck erhalten ?

Antwort

3

Es gibt mehrere Probleme mit diesem Kommando-Pipeline:

key=$(ssh-keygen -yf lony.pem) | echo $key | 
ssh-keygen -lf /dev/stdin <<<"$key" 

Erstens ist es nicht klar, warum Sie mit dem Rohr sind versuchen (|) die stdout Ihrer Zuweisungsanweisung an die echo Aussage. Die erste erzeugt keine Ausgabe und die zweite keine Eingabe. In der dritten Komponente leiten Sie den Befehl stdout vom echo-Befehl an die Standardadresse ssh-keygen ... wo Sie sind auch umleiten stdin mit dem Operator <<<.

Der einfachste Weg ist es, den Fingerabdruck von einer privaten Schlüsseldatei erhalten einfach auszuführen:

ssh-keygen -lf /path/to/privatekey.pem 

Zum Beispiel, wenn wir einen privaten Schlüssel zu generieren:

bash-4.3$ ssh-keygen -f testkey -N '' 

Wir können die dann vergleichen Ausgang dieses:

bash-4.3$ ssh-keygen -lf testkey 
2048 SHA256:beF471z86giH7cV49TduNVFD949UXzT+jHxgu+99gmM [email protected] (RSA) 

Um dies zu:

bash-4.3$ ssh-keygen -yf testkey | ssh-keygen -lf /dev/stdin 
2048 SHA256:beF471z86giH7cV49TduNVFD949UXzT+jHxgu+99gmM no comment (RSA) 

Und sehen Sie, dass wir den gleichen Fingerabdruck von beiden Befehlen erhalten.

+0

Danke, dass Sie Recht haben! Ich wollte nur den Fingerabdruck vom öffentlichen Schlüssel. Problem: Ihr letzter Befehl führt immer zu "/ dev/stdin ist keine öffentliche Schlüsseldatei". – lony

+0

Könnte es sein, dass AWS eine andere Fingerabdruckmethode verwendet? Wenn Sie die erste Methode verwenden, geben Sie einen anderen Hash zurück, wie AWS :( – lony

+1

http://serverfault.com/questions/603982/why-does-my-openssh-key-fingerprint-not-match-the-aws-ec2-console- Schlüsselpaar-Finger Das hat es gelöst – lony

Verwandte Themen