La commande suivante génère un fichier contenant à la fois la clé publique et la 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, donc une clé publique n'a pas besoin d'être générée séparément
Comment extraire la clé publique du fichier privkey.pem?
Merci.
Réponses:
Qui écrit la clé publique dans
key.pub
la source
-out
par exemple:openssl rsa -in privkey.pem -pubout -out key.pub
au lieu de rediriger stdout vers un fichier.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 que la commande suivante fonctionne:
ssh-keygen -y
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html
edit Merci @makenova pour la ligne complète:
la source
ssh-keygen -y -f key.pem > key.pub
ssh-keygen -y -f key.pem
key.pem
, ce qui pourrait vous empêcher de vous connecter aux instances qui nécessitent cette clé!ssh -i
, assurez-vous que vous créez un lien vers votre clé privée, pas la clé publiquePour ceux qui s'intéressent aux détails - vous pouvez voir ce qu'il y a dans le fichier de clé publique (généré comme expliqué ci-dessus), en faisant ceci: -
ou pour le fichier de clé privée, ceci: -
qui sort sous forme de texte sur la console les composants réels de la clé (module, exposants, nombres premiers, ...)
la source
Si vous cherchez comment copier une
.pem
paire de clés Amazon AWS dans une autre région, procédez comme suit:ensuite
la source
openssl
est prise en sandwich dans les en-têtes PEM, que vous devrez supprimer avant qu'AWS CLI accepte la clé.Pour AWS important une clé publique existante,
Exporter depuis le .pem en faisant cela ... (sous linux)
Cela produira un fichier qui, si vous ouvrez dans un éditeur de texte ressemblant à quelque chose comme ça ...
Cependant, AWS n'acceptera PAS ce fichier.
Vous devez supprimer le
-----BEGIN PUBLIC KEY-----
et-----END PUBLIC KEY-----
du fichier. Enregistrez-le et importez-le et cela devrait fonctionner dans AWS.la source
ssh-rsa AAAAB3NzaC1y....
exécuter:ssh-keygen -f PublicKey.pub -i -mPKCS8