Il est possible avec terraform de récupérer le cryptage rsa du mot de passe admin, et ensuite de le décoder en utilisant la clef rsa privée que nous allons évoquer tout de suite :

dans le fichier terraforme ec2.tf, nous précisons une clef rsa publique pour les opérations :

resource "aws_key_pair" "admin" {
   key_name   = "admin"
   public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCmDDEp5mI3dFRF5gm5qdqir9lx85D9kGQogiUmIO6NxUw1OxYHTEU9s0SJjnv8/VSmiRczSoEJSMPZA7U3CDxFHFO8aPni/SRs0/sh0ZMVYyae8OyfVotvtwb3OdrPVmLCYPYVzuz2XM6HLo6ro495x0Fxd6djGOg4HQ/eSx4tUfALjQPXE7gCE82c2oDOgnO7eMNeXh1UfkXViU0FVu2Nhu1HcW4vpgT7JzV8GyQYMBexU2WXh7adtGVd2ffzJQdatzg/7ymKCT0+SDcspXZR17V94e5xkOrccXPGjzqEFGkvDt9jqECaLA0UCc8qcAFsZo2yB/C1b9dG5NdWYBIh valois@teknomage"
 }

A cette clef, bien sur, nous avons la clef privée correspondante.

L'ajout dans la resource "aws_instance" de la ligne suivante :

   get_password_data = "true"

nous permettra d'afficher le chiffrement rsa du passe admin, avec l'ajout de l'output suivant dans le terraform :

output "Administrator_Password" {
    value = "${aws_instance.server2.*.password_data}"
}

Une fois le terraform appliqué, nous obtenons un output de notre mot de passe admin, qui est un hash base64 de notre chiffre rsa, et que nous déchiffrons comme suit :

cat rsa.txt | base64 -d | openssl rsautl -decrypt -inkey ~/.ssh/id_rsa | xargs echo "Password:"

Et voila, nous avons ainsi notre mot de passe admin pour la machine qui fut terraformée.