मैं अमेज़न ईसी 2 उदाहरण के लिए एसएसएच एक्सेस कैसे सेट कर सकता हूं?


87

मुझे Ubuntu 10.4 पर चल रहे Amazon EC2 उदाहरण में SSH की आवश्यकता है। मेरे पास अमेजन यूजरनेम और पासवर्ड है। कोई विचार?


2
इसे डाउनलोड करने के बाद chmod 400 my_pStreet_key.pem.txt चलाना न भूलें।
पीटर कमिंसकी

जवाबों:


159

असल में, आपको SSH के माध्यम से अपने EC2 में प्रवेश करने के लिए एक निजी-कुंजी फ़ाइल की आवश्यकता है। एक बनाने के लिए इन चरणों का पालन करें:

  • जाओ https://console.aws.amazon.com/ec2/home और अपने मौजूदा अमेज़न खाते में प्रवेश।
  • LHS या https://console.aws.amazon.com/ec2/home?region=us-east-1#s=KeyPairs पर "कुंजी जोड़े" पर क्लिक करें
    • आपको (या EC2 निर्माण प्रक्रिया के दौरान) उत्पन्न की जाने वाली की सूची देखनी चाहिए।
    • यदि आपको कोई कुंजी दिखाई नहीं देती है, तो "कुंजी कुंजी बनाएँ" पर क्लिक करें।
    • एक अद्वितीय नाम और हिट दर्ज करें।
    • निजी-कुंजी को सहेजने के लिए, इसे डाउनलोड करने के लिए एक डाउनलोड पैनल दिखाई देगा।
    • "0600" फ़ाइल की अनुमति के साथ इसे कहीं रखें
  • LHS या https://console.aws.amazon.com/ec2/home?region=us-east-1#s=Instances पर "इंस्टेंस" पर क्लिक करें
    • आपको ec2-instances की सूची देखनी चाहिए, यदि आपको कोई दिखाई नहीं देता है, तो कृपया एक बनाएं।
    • EC2 मशीन पर क्लिक करें और सार्वजनिक DNS पते को नोट करें।
  • अपना टर्मिनल (लिनक्स में) खोलें और निम्न कमांड टाइप करें
    • ssh -i /path/to/private-key root@<ec2-public-dns-address>- आपके वितरण के चयन ec2-userया ubuntuआपके उपयोगकर्ता नाम के आधार पर, नवीनतम रिलीज़ में रूट यूज़रनेम से बचा गया है ।
    • हिट दर्ज करें
    • बस।

6
आप संभवतः ssh के माध्यम से सीधे रूट के रूप में लॉगिन नहीं कर सकते। आपको एक गैर-रूट खाते का उपयोग करना होगा जैसे कि ec2-user इसलिए 'ssh -i / path / to /
Private

4
एक बार कनेक्ट करने की कोशिश करने के बाद मैंने बताया कि मुझे ubuntuइसके बजाय लॉगिन का उपयोग करना चाहिए root। जाहिरा तौर पर मैं ubuntu सर्वर 12.04 उदाहरण मिल गया है।
वासिली स्टावेंको

3
मैंने सफलतापूर्वक SSH खाता बनाया है, अगले कैसे बनाए गए खाते के साथ SCP का उपयोग करके फ़ाइलों को अपलोड किया जाए ??? जब मैं एससीपी का उपयोग करके अपलोड करने का प्रयास करता हूं, तो यह कहता है कि "अनुमति से इनकार किया गया है (पबलीके)।"
अशोक केएस

5
अभी भी यह मालिश प्राप्त करें "अनुमति से इनकार (publickey)।" ऐसा क्यों है?
कसून करियावास

2
Y'all हो रहा है "अनुमति अस्वीकृत (publickey)।" लोचदार बीनस्टॉक का उपयोग कर सकते हैं। यदि ऐसा है, तो आपको EB env config, Security में जाने की जरूरत है, और नई कुंजी जोड़ी को चुना। नए EC2 उदाहरण बनाए जाएंगे जो कुंजी को स्वीकार करते हैं। और उपयोगकर्ता नाम है ec2-userया हो सकता है ubuntu, लेकिन नहीं root
जॉर्ज ऑरपिनल

25
ssh -i /path/to/private-key ubuntu@<ec2-public-dns-address>

के ubuntuबजाय बस का उपयोग करें root। आपकी समस्या हल हो जाएगी। चीयर्स!


12

चरण 1) अपनी ec2 मशीन को सौंपी गई निजी कुंजियों को डाउनलोड करें (जो बनाते समय केवल एक बार डाउनलोड हो। इसलिए कहीं न कहीं करने की सिफारिश की गई है)

कदम 2) और आग निम्नलिखित आदेशों,

chmod 400 MyKeyPair.pem
ssh -i MyKeyPair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com

आधिकारिक डॉक्टर : SSH का उपयोग करके अपने लिनक्स / यूनिक्स इंस्टालेशन से कनेक्ट करना


7

ध्यान दें, 13.04 के लिए वर्तमान उपयोगकर्ता "ubuntu" ssh -i ./mykey.pem ubuntu@ec2-xxx-xxx-xxx-1.compute-1.amazonaws.com है।


4

आपको पहले एक प्रमुख जोड़ी बनाने की आवश्यकता है - अपने EC2 कंसोल का उपयोग करते हुए। फिर सर्वर में SSH के लिए अपनी निजी कुंजी का उपयोग करें (उपयोगकर्ता नाम हैec2-user ) अपनी पसंद के एसएसएच ग्राहक का उपयोग करके।

एक बार जब sudo su -आप चाहें तो रूट प्राप्त करने के लिए जारी कर सकते हैं (ध्यान दें: आप सीधे रूट के रूप में लॉग इन नहीं कर सकते)।


4

यदि आप MacOS का उपयोग कर रहे हैं, तो आपको SSH कॉन्फ़िगरेशन फ़ाइल (~ / .ssh / config) बनाना / संपादित करना चाहिए और कुछ इस तरह से रखना चाहिए:

Host *.amazonaws.com
    User ubuntu
    Port 22
    StrictHostKeyChecking no
    UserKnownHostsFile=/dev/null
    IdentityFile ~/PATH/YOUR_DOWNLOADED_KEY.pem

फिर EC2 के किसी भी उदाहरण से जुड़ने के लिए:

ssh MYNAME.amazonaws.com

और कुछ नहीं!


क्या होगा अगर मेरे पास पूर्व-1.pem और us-west-2.pem जैसे विभिन्न क्षेत्र के लिए मल्टी-पाल कुंजी है
हसीब

1

AWS पर Ubuntu सेटअप करने के लिए, कृपया निम्नलिखित चरणों का पालन करें:

  1. Amazon Web Services पर लॉग-इन करें और EC2 चुनें
  2. चुनें लॉन्च उदाहरण और, सही छवि (उबंटू), उदाहरण के प्रकार का चयन VPC नेटवर्क और सबनेट, भंडारण विन्यस्त और में SSH का उपयोग की अनुमति देकर विज़ार्ड का पालन करें सुरक्षा समूह । फिर लॉन्च करें
  3. पहली बार, आपको संभवतः कुंजी जोड़ी को सेटअप करने और उदाहरण के लिए असाइन करने की आवश्यकता है। आप कुंजी जोड़े में मुख्य जोड़ी भी बना सकते हैं । बन जाने के बाद, PEM फ़ाइल डाउनलोड करें और इसे सुरक्षित स्थान पर रखें।
  4. एक बार इंस्टेंस लॉन्च होने के बाद, इंट्रस्टाइज़्ड होने और चलने तक प्रतीक्षा करें

SSH के माध्यम से उदाहरण तक पहुंचने के लिए, दौड़ें:

  1. अपनी PEM फ़ाइल को निर्दिष्ट करके लिनक्स बॉक्स से कनेक्ट करें, जैसे

    ssh -i "file.pem" ubuntu@x.x.x.x
    

    सुनिश्चित करें कि आपकी PEM फ़ाइल में 600 अनुमति ( chmod 600 file.pem) है।

समस्या निवारण

यदि आप VPC इंस्टेंस चला रहे हैं, और आपका सुरक्षा समूह सही है (सही नियमों के साथ) और यह अभी भी काम नहीं करता है, VPC सेक्शन में अपने सबनेट की जाँच करें जो आपके VPC से जुड़ा होना चाहिए (दोनों आपके उदाहरण द्वारा उपयोग किया जाता है) और सेटअप में नया नियम मार्ग टेबल है कि 0.0.0.0/0के रूप में गंतव्य और अपने इंटरनेट गेटवे के रूप में लक्ष्य

अधिक जानकारी के लिए जाँच करें: आपके इंस्टेंस से कनेक्ट करने में समस्या निवारण

यह भी देखें: EC2 उदाहरण का उपयोग करने की कोशिश करते समय टाइमआउट के संभावित कारण


1

1) सबसे पहले नीचे के रूप में फ़ाइल अनुमति को प्रतिबंधित करने chmodके .pem fileलिए

chmod 400 my-key-pair.pem

2) फिर फ़ोल्डर sshसे सीधे निम्नलिखित कमांड के साथ.ssh

ssh -i my-key-pair.pem ec2-user@ec2-198-99-90-3.compute-1.amazonaws.com

नोट: - .sshफोल्डर में जाने के लिए। पहले Ctrl + Hसभी छिपी हुई फ़ाइलों को प्रदर्शित करने के लिए दबाएं और अंत मेंcd .ssh


0

ओएस डिस्ट्रो का आपके लिए सही उपयोगकर्ता के रूप में लॉग इन नहीं करना मुद्दा हो सकता है। कुछ नए AMI के लिए, उपयोगकर्ता "ubuntu" नहीं हो सकता है, लेकिन "ec2-user" हो सकता है। उदाहरण के लिए अमेज़न लिनक्स के लिए, मेरा मानना ​​है कि उपयोगकर्ता "ec2-user" है। एरिक हैमंड यहां उदाहरण देते हैं: http://alestic.com/2014/01/ec2-ssh-username

मेरा सुझाव, कोशिश:

ssh -i /path/to/file.pem ec2-user@ec2...

ssh -i /path/to/file.pem ubuntu@ec2...

ssh -i /path/to/file.pem root@ec2...

यदि आपके पास गलत एएमआई है, तो आप बस मशीन को पूरी तरह से पुनः आरंभ करना चाह सकते हैं ताकि आपके समूहों में एकरूपता हो। यदि यह आपकी समस्या है, तो आप शायद उसी OS डिस्ट्रो को कम से कम अपने लिनक्स बॉक्स के लिए चाहते हैं।


0

इन सभी उत्तरों में जो सुझाया गया है, वह करना पर्याप्त नहीं है। प्रत्येक उदाहरण के विरुद्ध आप एक सुरक्षा समूह देखते हैं। जब आप एक नया उदाहरण लॉन्च करते हैं, तो आपके पास यह चीज़ डिफ़ॉल्ट रूप से सेट होगी। आपको सुरक्षा समूह को संपादित करने और ssh पोर्ट को जोड़ने की आवश्यकता है। बाद में आपको 8080, 8443, 80, 443 बंदरगाहों को भी जोड़ना होगा जब आप अपनी वेबसाइट को होस्ट करना चाहते हैं।


0

मैंने डिफ़ॉल्ट सुरक्षा समूहों का उपयोग करने के लिए AWS की पेशकश को स्वीकार किया जिसमें 'सभी ट्रैफ़िक' पोर्ट शामिल थे।

और, कई बार और कई बार अपने नए ec2 उदाहरण पर जुड़ने की कोशिश करने के बाद, मुझे बस एहसास हुआ कि मुझे अपने उपयोग किए गए सुरक्षा समूह को संपादित करना चाहिए और मैन्युअल रूप से इनबाउंड और आउटबाउंड को 22 पोर्ट (ssh) में जोड़ना चाहिए!

आशा करता हूँ की ये काम करेगा !


0

पहले pem फ़ाइल की अनुमति बदलें

chmod 400 path/to/key_pair.pem

फ़ाइल के अंदर ~ / .ssh / config फ़ाइल के शीर्ष पर, निम्न पंक्तियाँ जोड़ें

Host AWS
     Hostname myserver.com
     User myuser
     IdentityFile path/to/.pem/file
     port 22

होस्टनाम आईपी या सर्वर का लिंक लेता है, उपयोगकर्ता सर्वर का उपयोगकर्ता नाम लेता है और पहचान फ़ाइल एडब्ल्यूएस से डाउनलोड की जाती है जब आपने उदाहरण बनाया था। बस टर्मिनल में निम्न कमांड चलाएँ

ssh AWS

और इसका आनंद लें!

नोट : .sshफ़ोल्डर में नेविगेट करने के लिए । Ctrl + Hसभी छिपी हुई फ़ाइलों को प्रदर्शित करने के लिए और अंत में होम फोल्डर में पहले दबाएँcd .ssh


0

सुनिश्चित करें कि इन चीज़ों की जाँच करें

  1. निजी कुंजी के लिए 400 की अनुमति होनी चाहिए

  2. सुनिश्चित करें कि पोर्ट 22 AWS उदाहरण के लिए खुला है जिसे आप एक्सेस करने का प्रयास कर रहे हैं।

  3. ssh -i privatekey.pem ubuntu@XXX.XXX.XXX.XXX // XXX.XXX.XXX.XXX = आपका उदाहरण सार्वजनिक आईपी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.