Я вже надав одну відповідь, в якій використовуються томи EBS, щоб отримати доступ до відкритого ключа ssh, але ось інший спосіб ви можете отримати це, запустивши тимчасовий екземпляр EC2 із скриптом даних користувача, який надсилає відкритий ключ на консольний вихід. Ось такі кроки:
Збережіть наступний код у файлі, названому output-ssh-key.userdata
на вашому локальному комп’ютері. НЕ РУБАЙТЕ ЦІ КОМАНДИ МІСКО!
#!/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
Запустіть екземпляр Ubuntu 10.04 LTS із вказаним вище файлом як сценарій даних про користувача. Вкажіть ключ, для якого потрібно отримати відкритий ключ ssh:
ec2-run-instances \
--key YOURKEYPAIRHERE \
--instance-type t1.micro \
--instance-initiated-shutdown-behavior terminate \
--user-data-file output-ssh-key.userdata \
ami-ab36fbc2
Продовжуйте запитувати вихід консолі від екземпляра, поки він не покаже ваш відкритий ключ ssh. Вкажіть ідентифікатор екземпляра, повернутий з команди run-instance:
ec2-get-console-output YOURINSTANCEID | grep SSHKEY: | cut -f3- -d:
Протягом 2-10 хвилин ви отримаєте такий результат:
========================================================================
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)
Тимчасовий екземпляр автоматично припинить себе протягом години, але ви можете самостійно його скасувати, якщо хочете переконатися, що вам не виставлять більше двох центів, які коштуватимуть.