Tôi đã cung cấp một câu trả lời sử dụng âm lượng EBS để lấy khóa công khai ssh, nhưng đây là một cách khác bạn có thể nhận được bằng cách bắt đầu một phiên bản EC2 tạm thời với tập lệnh dữ liệu người dùng gửi khóa chung tới đầu ra của bàn điều khiển. Dưới đây là các bước:
Lưu mã sau vào một tệp có tên output-ssh-key.userdata
trên máy tính cục bộ của bạn. ĐỪNG CHẠY NHỮNG QUYẾT ĐỊNH NÀY!
#!/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
Chạy một ví dụ Ubuntu 10.04 LTS với tệp ở trên dưới dạng tập lệnh dữ liệu người dùng. Chỉ định cặp khóa mà bạn muốn lấy khóa ssh công khai:
ec2-run-instances \
--key YOURKEYPAIRHERE \
--instance-type t1.micro \
--instance-initiated-shutdown-behavior terminate \
--user-data-file output-ssh-key.userdata \
ami-ab36fbc2
Tiếp tục yêu cầu đầu ra giao diện điều khiển từ phiên bản cho đến khi nó hiển thị khóa ssh công khai của bạn. Chỉ định id cá thể được trả về từ lệnh run-instance:
ec2-get-console-output YOURINSTANCEID | grep SSHKEY: | cut -f3- -d:
Trong vòng 2-10 phút, bạn sẽ nhận được đầu ra như thế này:
========================================================================
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)
Ví dụ tạm thời sẽ tự động chấm dứt trong vòng một giờ, nhưng bạn có thể tự chấm dứt nếu bạn muốn đảm bảo rằng bạn không bị tính phí nhiều hơn hai xu mà chi phí này sẽ chạy.