मैंने पहले से ही एक उत्तर दिया था, जो ssh सार्वजनिक कुंजी पर प्राप्त करने के लिए EBS वॉल्यूम का उपयोग करता है, लेकिन यहां एक और तरीका है कि आप एक अस्थायी 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
उपयोगकर्ता डेटा स्क्रिप्ट के रूप में उपरोक्त फ़ाइल के साथ एक स्टॉक उबंटू 10.04 एलटीएस उदाहरण चलाएं। उस कुंजीपट को निर्दिष्ट करें जिसके लिए आप सार्वजनिक 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 कुंजी नहीं दिखाता है, तब तक कंसोल आउटपुट का अनुरोध करते रहें। रन-इंस्टेंस कमांड से लौटाए गए उदाहरण आईडी को निर्दिष्ट करें:
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)
अस्थायी उदाहरण एक घंटे के भीतर स्वचालित रूप से समाप्त हो जाएगा, लेकिन यदि आप यह सुनिश्चित करना चाहते हैं कि आपको दो सेंट से अधिक शुल्क नहीं देना है, तो इसे चलाने के लिए खर्च करना होगा।