मुझे Ubuntu 10.4 पर चल रहे Amazon EC2 उदाहरण में SSH की आवश्यकता है। मेरे पास अमेजन यूजरनेम और पासवर्ड है। कोई विचार?
जवाबों:
असल में, आपको SSH के माध्यम से अपने EC2 में प्रवेश करने के लिए एक निजी-कुंजी फ़ाइल की आवश्यकता है। एक बनाने के लिए इन चरणों का पालन करें:
ssh -i /path/to/private-key root@<ec2-public-dns-address>
- आपके वितरण के चयन ec2-user
या ubuntu
आपके उपयोगकर्ता नाम के आधार पर, नवीनतम रिलीज़ में रूट यूज़रनेम से बचा गया है ।ubuntu
इसके बजाय लॉगिन का उपयोग करना चाहिए root
। जाहिरा तौर पर मैं ubuntu सर्वर 12.04 उदाहरण मिल गया है।
ec2-user
या हो सकता है ubuntu
, लेकिन नहीं root
।
ssh -i /path/to/private-key ubuntu@<ec2-public-dns-address>
के ubuntu
बजाय बस का उपयोग करें root
। आपकी समस्या हल हो जाएगी। चीयर्स!
चरण 1) अपनी ec2 मशीन को सौंपी गई निजी कुंजियों को डाउनलोड करें (जो बनाते समय केवल एक बार डाउनलोड हो। इसलिए कहीं न कहीं करने की सिफारिश की गई है)
कदम 2) और आग निम्नलिखित आदेशों,
chmod 400 MyKeyPair.pem
ssh -i MyKeyPair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com
आधिकारिक डॉक्टर : SSH का उपयोग करके अपने लिनक्स / यूनिक्स इंस्टालेशन से कनेक्ट करना
आपको पहले एक प्रमुख जोड़ी बनाने की आवश्यकता है - अपने EC2 कंसोल का उपयोग करते हुए। फिर सर्वर में SSH के लिए अपनी निजी कुंजी का उपयोग करें (उपयोगकर्ता नाम हैec2-user
) अपनी पसंद के एसएसएच ग्राहक का उपयोग करके।
एक बार जब sudo su -
आप चाहें तो रूट प्राप्त करने के लिए जारी कर सकते हैं (ध्यान दें: आप सीधे रूट के रूप में लॉग इन नहीं कर सकते)।
यदि आप 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
और कुछ नहीं!
AWS पर Ubuntu सेटअप करने के लिए, कृपया निम्नलिखित चरणों का पालन करें:
SSH के माध्यम से उदाहरण तक पहुंचने के लिए, दौड़ें:
अपनी 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) सबसे पहले नीचे के रूप में फ़ाइल अनुमति को प्रतिबंधित करने 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
ओएस डिस्ट्रो का आपके लिए सही उपयोगकर्ता के रूप में लॉग इन नहीं करना मुद्दा हो सकता है। कुछ नए 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 डिस्ट्रो को कम से कम अपने लिनक्स बॉक्स के लिए चाहते हैं।
इन सभी उत्तरों में जो सुझाया गया है, वह करना पर्याप्त नहीं है। प्रत्येक उदाहरण के विरुद्ध आप एक सुरक्षा समूह देखते हैं। जब आप एक नया उदाहरण लॉन्च करते हैं, तो आपके पास यह चीज़ डिफ़ॉल्ट रूप से सेट होगी। आपको सुरक्षा समूह को संपादित करने और ssh पोर्ट को जोड़ने की आवश्यकता है। बाद में आपको 8080, 8443, 80, 443 बंदरगाहों को भी जोड़ना होगा जब आप अपनी वेबसाइट को होस्ट करना चाहते हैं।
मैंने डिफ़ॉल्ट सुरक्षा समूहों का उपयोग करने के लिए AWS की पेशकश को स्वीकार किया जिसमें 'सभी ट्रैफ़िक' पोर्ट शामिल थे।
और, कई बार और कई बार अपने नए ec2 उदाहरण पर जुड़ने की कोशिश करने के बाद, मुझे बस एहसास हुआ कि मुझे अपने उपयोग किए गए सुरक्षा समूह को संपादित करना चाहिए और मैन्युअल रूप से इनबाउंड और आउटबाउंड को 22 पोर्ट (ssh) में जोड़ना चाहिए!
आशा करता हूँ की ये काम करेगा !
पहले 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
सुनिश्चित करें कि इन चीज़ों की जाँच करें
निजी कुंजी के लिए 400 की अनुमति होनी चाहिए
सुनिश्चित करें कि पोर्ट 22 AWS उदाहरण के लिए खुला है जिसे आप एक्सेस करने का प्रयास कर रहे हैं।
ssh -i privatekey.pem ubuntu@XXX.XXX.XXX.XXX
// XXX.XXX.XXX.XXX = आपका उदाहरण सार्वजनिक आईपी