Saya sudah memberikan satu jawaban yang menggunakan volume EBS untuk mendapatkan kunci publik ssh, tapi inilah cara lain yang bisa Anda lakukan dengan memulai contoh EC2 sementara dengan skrip data pengguna yang mengirimkan kunci publik ke output konsol. Berikut langkah-langkahnya:
Simpan kode berikut ke file yang bernama output-ssh-key.userdata
di komputer lokal Anda. JANGAN LARI PERINTAH INI SECARA LOKAL!
#!/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
Jalankan instance Ubuntu 10.04 LTS stok dengan file di atas sebagai skrip data pengguna. Tentukan keypair tempat Anda ingin mengambil kunci ssh publik:
ec2-run-instances \
--key YOURKEYPAIRHERE \
--instance-type t1.micro \
--instance-initiated-shutdown-behavior terminate \
--user-data-file output-ssh-key.userdata \
ami-ab36fbc2
Terus meminta output konsol dari instance sampai menunjukkan kunci ssh publik Anda. Tentukan id instance yang dikembalikan dari perintah run-instances:
ec2-get-console-output YOURINSTANCEID | grep SSHKEY: | cut -f3- -d:
Dalam 2-10 menit Anda akan mendapatkan output seperti ini:
========================================================================
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)
Mesin virtual sementara akan secara otomatis berakhir dalam waktu kurang dari satu jam, tetapi Anda dapat menghentikannya sendiri jika Anda ingin memastikan bahwa Anda tidak dikenai biaya lebih dari dua sen yang diperlukan untuk menjalankannya.