Der folgende Befehl generiert eine Datei, die sowohl einen öffentlichen als auch einen privaten Schlüssel enthält:
openssl genrsa -des3 -out privkey.pem 2048
Quelle: hier
Bei OpenSSL enthält der private Schlüssel auch die Informationen zum öffentlichen Schlüssel, sodass ein öffentlicher Schlüssel nicht separat generiert werden muss
Wie können wir den öffentlichen Schlüssel aus der Datei privkey.pem extrahieren?
Vielen Dank.
Antworten:
Das schreibt den öffentlichen Schlüssel zu
key.pub
quelle
-out
Beispiel:openssl rsa -in privkey.pem -pubout -out key.pub
anstatt stdout in eine Datei umzuleiten.Die obige Technik funktioniert zwar für den allgemeinen Fall, jedoch nicht für PEM-Dateien von Amazon Web Services (AWS).
Ich habe in den AWS-Dokumenten den folgenden Befehl gefunden:
ssh-keygen -y
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html
edit Danke @makenova für die komplette Zeile:
quelle
ssh-keygen -y -f key.pem > key.pub
ssh-keygen -y -f key.pem
key.pem
, mit dem Sie von der Protokollierung in Fälle verhindern könnte , die diesen Schlüssel benötigen!ssh -i
, stellen Sie sicher, dass Sie dort auf Ihren privaten SchlüsselFür diejenigen, die an den Details interessiert sind - Sie können sehen, was sich in der öffentlichen Schlüsseldatei befindet (wie oben erläutert generiert), indem Sie Folgendes tun: -
oder für die private Schlüsseldatei: -
welches als Text auf der Konsole die tatsächlichen Komponenten des Schlüssels ausgibt (Modul, Exponenten, Primzahlen, ...)
quelle
Wenn Sie suchen, wie Sie ein Amazon AWS-
.pem
Schlüsselpaar in eine andere Region kopieren, gehen Sie wie folgt vor:Dann
quelle
openssl
befindet sich in PEM-Headern, die Sie entfernen müssen, bevor AWS CLI den Schlüssel akzeptiert.Für AWS, das einen vorhandenen öffentlichen Schlüssel importiert,
Exportieren Sie aus dem .pem, um dies zu tun ... (unter Linux)
Dadurch wird eine Datei erstellt, die beim Öffnen in einem Texteditor ungefähr so aussieht ...
AWS akzeptiert diese Datei jedoch NICHT.
Sie müssen das
-----BEGIN PUBLIC KEY-----
und-----END PUBLIC KEY-----
von der Datei entfernen. Speichern und importieren und es sollte in AWS funktionieren.quelle
ssh-rsa AAAAB3NzaC1y....
auszuführen:ssh-keygen -f PublicKey.pub -i -mPKCS8