La commande suivante génère un fichier contenant à la fois une clé publique et une clé privée:
openssl genrsa -des3 -out privkey.pem 2048
Source: ici
Avec OpenSSL, la clé privée contient également les informations de clé publique. Par conséquent, il n’est pas nécessaire de générer une clé publique séparément
Comment pouvons-nous extraire la clé publique du fichier privkey.pem?
Merci.
openssl rsa -in privkey.pem -pubout > key.pub
Cela écrit la clé publique à key.pub
Bien que la technique ci-dessus fonctionne pour le cas général, elle ne fonctionnait pas sur les fichiers PEM Amazon Web Services (AWS).
J’ai trouvé dans la documentation AWS les commandes suivantes: ssh-keygen -y
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html
edit Merci @makenova pour la ligne complète:
ssh-keygen -y -f key.pem > key.pub
Pour ceux qui sont intéressés par les détails – vous pouvez voir ce qui se trouve dans le fichier de clé publique (généré comme expliqué ci-dessus), en procédant ainsi: –
openssl rsa -noout -text -inform PEM -in key.pub -pubin
ou pour le fichier de clé privée, ceci: –
openssl rsa -noout -text -in key.private
qui produit comme texte sur la console les composants réels de la clé (module, exposants, nombres premiers, …)
Si vous cherchez à copier une paire de clés Amazon AWS .pem
dans une autre région, procédez comme suit:
openssl rsa -in .ssh/amazon-aws.pem -pubout > .ssh/amazon-aws.pub
alors
aws ec2 import-key-pair --key-name amazon-aws --public-key-material '$(cat .ssh/amazon-aws.pub)' --region us-west-2
Pour AWS important une clé publique existante,
Exporter depuis le .pem fait ceci … (sous linux)
openssl rsa -in ./AWSGeneratedKey.pem -pubout -out PublicKey.pub
Cela produira un fichier qui si vous ouvrez dans un éditeur de texte à la recherche de quelque chose comme ça …
-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn/8y3uYCQxSXZ58OYceG A4uPdGHZXDYOQR11xcHTrH13jJEzdkYZG8irtyG+m3Jb6f9F8WkmTZxl+4YtkJdN 9WyrKhxq4Vbt42BthadX3Ty/pKkJ81Qn8KjxWoL+SMaCGFzRlfWsFju9Q5C7+aTj eEKyFujH5bUTGX87nULRfg67tmtxBlT8WWWtFe2O/wedBTGGQxXMpwh4ObjLl3Qh bfwxlBbh2N4471TyrErv04lbNecGaQqYxGrY8Ot3l2V2fXCzghAQg26Hc4dR2wyA PPgWq78db+gU3QsePeo2Ki5sonkcyQQQlCkL35Asbv8khvk90gist4kijPnVBCuv cwIDAQAB -----END PUBLIC KEY-----
Cependant, AWS n’acceptera PAS ce fichier.
Vous devez -----END PUBLIC KEY-----
le fichier -----BEGIN PUBLIC KEY-----
et -----END PUBLIC KEY-----
. Enregistrez-le et importez-le et cela devrait fonctionner dans AWS.