Ho già fornito una risposta che utilizza i volumi EBS per ottenere la chiave pubblica ssh, ma ecco un altro modo per accedervi avviando un'istanza temporanea EC2 con uno script di dati utente che invia la chiave pubblica all'output della console. Ecco i passaggi:
Salvare il codice seguente in un file denominato output-ssh-key.userdata
sul computer locale. NON ESEGUIRE LOCALMENTE QUESTI COMANDI!
#!/bin/bash -ex
exec> >(tee /var/log/user-data.log|logger -t user -s 2>/dev/console) 2>&1
adminkey=$(GET instance-data/latest/meta-data/public-keys/ |
perl -ne 'print $1 if /^0=[^a-z0-9]*([-.@\w]*)/i')
cat <<EOF
SSHKEY:========================================================================
SSHKEY:HERE IS YOUR PUBLIC SSH KEY FOR KEYPAIR "$adminkey":
SSHKEY:$(cat /home/ubuntu/.ssh/authorized_keys)
SSHKEY:========================================================================
SSHKEY:Halting in 50min ($(date --date='+50 minutes' +"%Y-%m-%d %H:%M UTC"))
EOF
sleep 3000
halt
Esegui un'istanza di Ubuntu 10.04 LTS standard con il file sopra come script di dati utente. Specificare la coppia di chiavi per cui si desidera recuperare la chiave ssh pubblica:
ec2-run-instances \
--key YOURKEYPAIRHERE \
--instance-type t1.micro \
--instance-initiated-shutdown-behavior terminate \
--user-data-file output-ssh-key.userdata \
ami-ab36fbc2
Continua a richiedere l'output della console dall'istanza fino a quando non mostra la tua chiave ssh pubblica. Specificare l'id dell'istanza restituito dal comando run-instance:
ec2-get-console-output YOURINSTANCEID | grep SSHKEY: | cut -f3- -d:
Entro 2-10 minuti otterrai un output in questo modo:
========================================================================
HERE IS YOUR PUBLIC SSH KEY FOR KEYPAIR "erich":
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6rn8cl41CkzaH4ZBhczOJZaR4xBBDI1Kelc2ivzVvCB
THcdJRWpDd5I5hY5W9qke9Tm4fH3KaUVndlcP0ORGvS3PAL4lTpkS4D4goMEFrwMO8BG0NoE8sf2U/7g
aUkdcrDC7jzKYdwleRCI3uibNXiSdeG6RotClAAp7pMflDVp5WjjECDZ+8Jzs2wasdTwQYPhiWSiNcfb
fS97QdtROf0AcoPWElZAgmabaDFBlvvzcqxQRjNp/zbpkFHZBSKp+Sm4+WsRuLu6TDe9lb2Ps0xvBp1F
THlJRUVKP2yeZbVioKnOsXcjLfoJ9TEL7EMnPYinBMIE3kAYw3FzZZFeX3Q== erich
========================================================================
Halting in 50min (2011-12-20 05:58 UTC)
L'istanza temporanea si interromperà automaticamente tra meno di un'ora, ma puoi terminarla tu stesso se desideri assicurarti di non essere addebitato più dei due centesimi che costerà correre.