web-dev-qa-db-fra.com

Récupération de paire de clés Amazon EC2

J'ai besoin de savoir comment accéder à une instance en cours d'exécution dans Amazon EC2.

  • JE N'AI PAS le fichier de clés d'origine ".pem"
  • J'AI accès à la console de gestion aws
  • L'arrêt/le redémarrage n'est pas possible

la plus proche de ma question que j'ai trouvée était this mais j'espère que les choses ont changé depuis.

existe-t-il un moyen de télécharger ce fichier pem ou d'attribuer une nouvelle paire de clés?

64
Joaquin Brenner

Les paires de clés ne peuvent être téléchargées qu'une seule fois sur Amazon, probablement pour des raisons de sécurité. Ce que vous pourriez faire, c'est attribuer l'une de vos adresses IP élastiques à l'instance et acheminer le trafic normalement. Faites un instantané de l'instance et créez un doublon avec une nouvelle paire de clés. Basculez l'adresse IP élastique sur la nouvelle instance. Ce n'est pas particulièrement élégant, mais c'est beaucoup moins de temps d'arrêt qu'un arrêt complet.

Remarque: Si vous attribuez l'IP élastique à l'instance, elle remplacera l'IP publique actuelle, vous devrez donc vous assurer de mettre à jour le DNS également.

53
agross

En fait, vous pouvez attribuer une nouvelle paire de clés à l'instance UNIQUEMENT SI vous arrêtez l'instance, détachez la partition racine (généralement/dev/sda1) et attachez-la à une autre instance. Après cela, vous aurez accès à /home/ubuntu/.ssh/authorized_keys. Vous pouvez générer une nouvelle clé .pem via la ligne de commande et la coller dans ce fichier. Ensuite, vous détachez cette partition et vous la rattachez à l'instance d'origine. Utilisez la nouvelle clé générée pour vous y connecter.

Vous pouvez en savoir plus sur ces étapes dans Google, ou ici: http://www.eng.cam.ac.uk/help/jpmg/ssh/authorized_keys_howto.html

10
gabrielhpugliese

Lorsque vous configurez votre AMI à l'avenir, configurez cloud-init. Au démarrage, cela réduira les données utilisateur et les traitera en conséquence. Par conséquent, vous pouvez insérer quelque chose comme le suivant dans la zone de données utilisateur lorsque l'AMI est arrêtée:

mkdir -p /root/.ssh/

cat > /root/.ssh/keyname.pub <<EOF_PUB
ssh-rsa yourkeydata== keyname@wherever
EOF_PUB

cat /root/.ssh/keyname.pub >> /root/.ssh/authorized_keys;

Encore une fois cependant, si vos packages cloud-init ne sont pas installés et exécutés, cela sera inefficace. J'ai à plusieurs reprises dû récupérer des AMI verrouillées auprès de développeurs qui ne sauvegardent pas leurs clés. C'est une aubaine.

4
user1252959