J'ai créé une nouvelle instance Windows sur AWS EC2, en utilisant une paire de clés que j'ai créée en téléchargeant ma clé publique depuis ma machine locale.
L'instance s'est bien lancée, mais elle ne décryptera pas le mot de passe. Il rapporte:
Je suis certain d'avoir téléchargé la bonne clé. J'ai vérifié que les empreintes digitales correspondent au format étrange des empreintes digitales qu'AWS utilise . Mais il ne se décryptera tout simplement pas.
J'ai essayé de télécharger le fichier clé et de le coller dans le formulaire.
J'ai finalement compris qu'il ne supprime pas la nouvelle ligne de fin et j'ai supprimé la ligne vierge de la clé. Cela m'amène juste à une nouvelle erreur lorsque je clique sur "Décrypter le mot de passe", cependant:
la source
aws ec2 get-password-data "--instance-id=${instance_id}" | jq -r .PasswordData | base64 -D | openssl rsautl -decrypt -inkey ${my_key}
(utilise aws-cli et jq ).-d
donc-D
fonctionne pour moi. im sur OS Xaws ec2 get-password-data "--instance-id=${instance_id}" | jq -r .PasswordData | base64 -D | openssl rsautl -decrypt -inkey ${my_key} | pbcopy
... qui envoie le mot de passe directement à votre presse-papiers.Sans l'utilisation de jq, cela est toujours possible mais nécessite une analyse supplémentaire des données renvoyées.
la source
base64 -d
plutôt que-D
.C'est ce qui a fonctionné pour moi sous macOS:
openssl rsa -in $HOME/.ssh/aws-remote -out /Users/home/desktop/unencrypted-rsa.txt
Il est à noter que vous pouvez savoir si votre fichier .pem est chiffré avec un mot de passe en recherchant la ligne suivante. S'il est présent, vous devez le déchiffrer avant de l'utiliser avec Amazon:
la source
Sur mon Mac, les arguments de ligne de commande pour base64 sont différents.
Cela a fonctionné pour moi:
la source
cela fonctionnera
la source