एसएसएच से इलास्टिक बीनस्टाक उदाहरण


304

मैंने अभी अमेज़न के नए इलास्टिक बीनस्टॉक ऑफर के लिए साइन अप किया है। मैं यह कैसे पता नहीं कर सकता कि एसएसएच एक बीनस्टॉक उदाहरण के लिए कैसे है। मेरे पास एक निजी कुंजी नहीं है क्योंकि बीनस्टॉक ने मेरी ओर से उदाहरण प्रस्तुत किया है।


तो एक बार जब मैं अंत में लॉग इन हो जाता हूं तो मैं उस फ़ोल्डर में कैसे पहुंचता हूं जहां इम ने मेरे गिट रेपो को धक्का दिया है?
विकसित करें

ऐसा लगता है कि उपरोक्त उत्तर कुछ दिनांकित हैं। अमेज़ॅन का एक अच्छा डॉक्टर है कि इसे कैसे करना है। कुंजी जोड़ी बनाने के तरीके के बारे में उपरोक्त सुझावों का पालन करें। इसके बाद इसे फॉलो करें: <br> <br> डॉक्स.समेसनॉज़ेल.कॉम। इलास्टिकबीनस्टॉक / लेटस्ट / डग / ... गुड लक!
जॉर्डन माइकल रशिंग

4
ठीक है, अगर आप ईएलबी सीएलआई के नए v3 का उपयोग कर रहे हैं, तो आप कर सकते हैंeb ssh
शारोन थॉमस

जवाबों:


491

मैंने इसे 2-चरणीय प्रक्रिया के रूप में पाया। यह मानता है कि संबंधित क्षेत्र में EC2 उदाहरणों तक पहुँचने के लिए आपने पहले से ही एक कीपर लगाई है।

सुरक्षा समूह कॉन्फ़िगर करें

  1. AWS कंसोल में, EC2 टैब खोलें।
  2. संबंधित क्षेत्र का चयन करें और सुरक्षा समूह पर क्लिक करें।
  3. elasticbeanstalk-defaultयदि आपके पास उस क्षेत्र में इलास्टिक बीनस्टॉक उदाहरण लॉन्च किया है, तो आपके पास एक सुरक्षा समूह होना चाहिए ।
  4. SSH पहुंच के लिए एक नियम जोड़ने के लिए सुरक्षा समूह को संपादित करें। नीचे यह केवल एक विशिष्ट आईपी पते से प्रवेश की अनुमति देने के लिए इसे बंद कर देगा।

    SSH | tcp | 22 | 22 | 192.168.1.1/32
    

अपने इलास्टिक बीनस्टॉक एप्लिकेशन के वातावरण को कॉन्फ़िगर करें

  1. यदि आपने अभी तक एक कुंजी जोड़ी नहीं बनाई है, तो ec2 टैब में सुरक्षा समूह के नीचे कुंजी जोड़े पर क्लिक करके एक बनाएं।
  2. AWS कंसोल में, इलास्टिक बीनस्टॉक टैब खोलें।
  3. संबंधित क्षेत्र का चयन करें।
  4. प्रासंगिक पर्यावरण का चयन करें
  5. बाएँ फलक में कॉन्फ़िगरेशन का चयन करें।
  6. सुरक्षा का चयन करें।
  7. "EC2 कुंजी जोड़ी:" के तहत, Existing Key Pairक्षेत्र में अपनी कीपेयर के नाम का चयन करें ।

एक बार उदाहरण स्थानांतरित हो जाने के बाद, आपको होस्ट नाम AWS कंसोल EC2 इंस्टेंसेस टैब से या API के माध्यम से प्राप्त करना होगा। फिर आपको सर्वर पर ssh करने में सक्षम होना चाहिए।

$ ssh -i path/to/keypair.pub ec2-user@ec2-an-ip-address.compute-1.amazonaws.com

नोट: पर्यावरण विन्यास में एक कीपर को जोड़ने के लिए, इंस्टेंसेस की समाप्ति की सुरक्षा बंद होनी चाहिए क्योंकि बीनस्टॉक वर्तमान उदाहरणों को समाप्त करने और कीपर के साथ नए इंस्टेंस को शुरू करने की कोशिश करेगा।

नोट: यदि कुछ काम नहीं कर रहा है, तो बीनस्टॉक एप्लिकेशन / वातावरण में "ईवेंट" टैब देखें और पता करें कि क्या गलत हुआ।


41
इस उत्तर में किसी भी अन्य उत्तर की तुलना में 2x अधिक वोट हैं; तकनीकी रूप से कठोर है; और अत्यंत स्पष्ट है। इसमें ग़लत क्या है? इसे क्यों स्वीकार नहीं किया गया?

6
यदि आपको त्रुटि "अनुमति अस्वीकृत (publickey)" मिलती है, भले ही आपने ऊपर दिए गए निर्देशों का पालन किया हो, तो निम्न कारण बता सकता है: यदि आपका EB सेटअप एक से अधिक EC2 उदाहरण लॉन्च करता है, तो आपको यह जांचना होगा कि उनमें से कौन सी कुंजी जोड़ी से जुड़ी हुई है यह। आप केवल प्रमुख जोड़ी के साथ उदाहरण के लिए SSH कर सकते हैं। आप पता लगाने के लिए EC2 उदाहरण मेनू में गुणों का निरीक्षण कर सकते हैं।
प्रति क्वेस्ट एरॉनसन

27
हो सकता है कि यहां इंटरफ़ेस बदल गया हो। मेरे लिए, दूसरे खंड में चरण 4 और 5 थोड़ा अलग थे। मुझे इसके डैशबोर्ड को खोलने के लिए संबंधित वातावरण का चयन करना था, और फिर बाईं ओर 'कॉन्फ़िगरेशन' का चयन करना था। 'इंस्टेंस' के बगल में सेटिंग गियर आइकन पर क्लिक करें, जो सर्वर सेटिंग पेज को लाता है। मैं एक ड्रॉप डाउन से EC2 कीपेयर का चयन करने में सक्षम था, जो सुविधाजनक था। महान जवाब के लिए धन्यवाद, हालांकि!
डालिन

12
Ssh कमांड के लिए आपको निजी कुंजी (.pem) फ़ाइल और user_name @ public_dns_name निर्दिष्ट करना होगा (सार्वजनिक कुंजी नहीं, जैसा कि उत्तर .pub एक्सटेंशन द्वारा दिया गया है)। अमेज़ॅन लिनक्स के लिए, डिफ़ॉल्ट उपयोगकर्ता नाम ec2-user है। RHEL5 के लिए, उपयोगकर्ता का नाम अक्सर रूट होता है, लेकिन वह ec2-user हो सकता है। उबंटू के लिए, उपयोगकर्ता का नाम ubuntu है। SUSE लिनक्स के लिए, उपयोगकर्ता नाम रूट है। अन्यथा, अपने एएमआई प्रदाता के साथ जांचें। (क्रेडिट: docs.aws.amazon.com/AWSEC2/latest/UserGuide/… )
yacc

5
यह सेटिंग "कॉन्फ़िगरेशन" के तहत "सुरक्षा" टैब में चली गई है (इसलिए चरण 6 में, "इंस्टेंस" के बजाय "सुरक्षा" चुनें)
delucasvb

128

लोचदार बीनस्टॉक सीएलआई v3 अब कमांड के साथ सीधे एसएसएच का समर्थन करता है eb ssh। उदाहरण के लिए

eb ssh your-environment-name

EC2 उदाहरण पता लगाने के सुरक्षा समूहों को स्थापित करने की सभी परेशानी के लिए कोई ज़रूरत नहीं है।

वहाँ भी इस शांत चाल है:

eb ssh --force

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

ssh ec2-user@ec2-xx-xxx-xxx-xx.compute-1.amazonaws.com

2
मैंने अभी खुद सीएलआई वी 3 स्थापित किया है और यह खूबसूरती से काम करता है। बस जोड़ने के लिए, आप इसे कमांड में जोड़कर पर्यावरण को निर्दिष्ट कर सकते हैं, उदाहरण के लिए eb ssh production। आप सेटअप विकल्प के साथ एक विशिष्ट वातावरण भी सेट कर सकते हैं:eb ssh production --setup
जेमर

हम्म् नहीं, इसके लिए आवश्यक है कि आपके पास पहले से ही निजी कुंजी है ~ / .shsh dir। कुछ लोगों के पास है, कुछ नहीं। यदि आप नहीं करते हैं, तो आपको अभी भी एक बनाना और डाउनलोड करना होगा, और इसे ईबी में सेट करना होगा।
जॉर्ज ऑरपिनल

49

अगस्त 2013 में एक linux क्लाइंट और एक साधारण AWS बीनस्टॉक इंस्टालेशन (एकल EC2 उदाहरण) के साथ मेरा अनुभव निम्नानुसार है (ऊपर सामुदायिक विकी पर आधारित)

सुरक्षा समूह कॉन्फ़िगर करें

  1. AWS कंसोल में, EC2 डैशबोर्ड पर जाने के लिए EC2 का चयन करें
  2. उस सुरक्षा समूह की खोज करें जिसमें आपका EC2 उदाहरण बाएं हाथ के पैनल में इंस्टेंस पर क्लिक करके और फिर उस उदाहरण का चयन करना है जिसे आप कनेक्ट करना चाहते हैं (मेरे मामले में केवल एक है - जिसे डिफ़ॉल्ट पर्यावरण कहा जाता है)। विवरण पृष्ठ के आधार पर दिखाए जाते हैं - आपको सुरक्षा समूहों के लिए एक क्षेत्र देखना चाहिए - नाम का एक नोट बनाएं - मेरे मामले में "awsweb ..."।
  3. बाएं हाथ के पैनल से सुरक्षा समूह चुनें।
  4. awsweb...सुरक्षा समूह का चयन करें और विवरण पृष्ठ के आधार पर दिखाना चाहिए
  5. इनबाउंड टैब का चयन करें और "एक नया नियम बनाएं" ड्रॉप डाउन से एसएसएच चुनें। अपनी स्थानीय मशीन का IP पता / CIDR (जिसमें आप कनेक्ट करने का इरादा रखते हैं) सम्मिलित करें, जैसे 192.168.0.12/32 और नियम जोड़ें और नियम परिवर्तन लागू करें पर क्लिक करें।

सार्वजनिक-निजी कुंजी जोड़ी बनाएँ

  1. EC2 डैशबोर्ड से बाएँ हाथ के पैनल से Key Pairs का चयन करें
  2. कुंजी जोड़ी (शीर्ष पर) पर क्लिक करें और एक नाम दर्ज करें जैसे कि myname-key-pair-myregion या जो भी मान्य कुंजी नाम आपको पसंद हो।
  3. पुष्टि करें और फिर ब्राउज़र से निजी कुंजी को डाउनलोड करने के लिए इसे अपने घर निर्देशिका में या जहां भी आप कल्पना करते हैं, उसे सहेजना स्वीकार करें। सुनिश्चित करें कि निर्देशिका में केवल आपके लिए लिखने की अनुमति है।

लोचदार बीनस्टॉक EC2 सर्वर के साथ सार्वजनिक निजी कुंजी जोड़ी को संबद्ध करें

  1. एक लोचदार बीनस्टॉक EC2 उदाहरण के लिए एक सार्वजनिक-निजी कुंजी जोड़ी जोड़ने के लिए: सेवाएँ -> इलास्टिक बीनस्टॉक -> माय ऐप -> डिफ़ॉल्ट पर्यावरण आपको डिफ़ॉल्ट वातावरण में ले जाता है (आप जहां अपना ऐप अपलोड करते हैं)
  2. कॉन्फ़िगरेशन (बाएं हाथ के पैनल पर) पर क्लिक करें और फिर "इंस्टेंस" से जुड़े गियर / कॉग पर
  3. "सर्वर" नामक एक पृष्ठ प्रदर्शित होता है
  4. EC2 कुंजी जोड़ी से अपने पूर्वनिर्मित कुंजी बराबर का चयन करें और सहेजें
  5. कुछ चेतावनी संदेश प्रदर्शित किया जाता है ताकि दोबारा सहेजें।

SSH का उपयोग कर AWS EC2 इंस्टेंस से कनेक्ट करें

  1. अपनी निजी कुंजी (.pem फ़ाइल) वाली निर्देशिका के लिए एक टर्मिनल सत्र परिवर्तन में।
  2. यदि आपके पास कुछ है, तो आपको शायद इसके बारे में कुछ करना चाहिए। यदि आपके पास इसका नाम बदलने के रूप में एक है। अन्यथा आप मेजबान की पहचान के बारे में एक त्रुटि प्राप्त कर सकते हैं।
  3. करो: ssh -i ./yname-key-pair-my-region.pem ec2-user@ec2-some-address.us-west-2.compute.amazonaws.com

सौभाग्य


3
Ssh कमांड के लिए आपको निजी कुंजी (.pem) फ़ाइल और user_name @ public_dns_name निर्दिष्ट करनी होगी। अमेज़ॅन लिनक्स के लिए, डिफ़ॉल्ट उपयोगकर्ता नाम ec2-user है। RHEL5 के लिए, उपयोगकर्ता का नाम अक्सर रूट होता है, लेकिन वह ec2-user हो सकता है। उबंटू के लिए, उपयोगकर्ता का नाम ubuntu है। SUSE लिनक्स के लिए, उपयोगकर्ता नाम रूट है। अन्यथा, अपने एएमआई प्रदाता के साथ जांचें। (श्रेय: docs.aws.amazon.com/AWSEC2/latest/UserGuide/… )
yacc

इस प्रश्न में मुख्य जोड़ी भाग को जोड़ने के लिए सबसे अच्छा स्पष्टीकरण है। लेकिन मुझे एसएसएच भाग करने के लिए ईबी-क्ली का उपयोग करना पसंद आया क्योंकि यह सरल है। फिर भी, मैंने इसे भी उकेरा।
निक

35

मैं इसके साथ भी खेलता रहा हूं।

  1. गोटो अपने लोचदार बीनस्टॉक सेवा टैब
  2. आपके एप्लिकेशन अवलोकन गोटो एक्शन पर -> कॉन्फ़िगरेशन संपादित करें
  3. कुंजी का नाम जोड़ें जो आपके EC2 टैब में (उसी क्षेत्र के लिए) मौजूदा कीपर बॉक्स में दिखाई देता है और परिवर्तन को लागू करता है

सेवा को फिर से शुरू किया जाएगा ताकि 5 मिनट के लिए कॉफी बनाई जा सके

उसी क्षेत्र के लिए अपने ec2 टैब पर आप अपना नया रनिंग इंस्टेंस देखेंगे। ssh ने सार्वजनिक dns नाम को ec2-user के रूप में उपयोग किया जो कि 3 में जोड़े गए जैसे ssh ec2-user@ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com


5
"Ec2-user" भाग जोड़ना मेरी समस्या थी ... यह ऊपर दिए गए उत्तर के साथ विलय किया जाना चाहिए;)।
किरिल फुच्स

30

EC2 उदाहरण के लिए 'इंस्टेंस एक्ट्स' मेनू में एक आसान 'कनेक्ट' विकल्प है। यह आपको उदाहरण के लिए सही url के साथ निष्पादित करने के लिए सटीक SSH कमांड देगा। Jabley के समग्र निर्देश सही हैं।


24

उपरोक्त उत्तर थोड़े पुराने हैं।

सबसे पहले एक की-पेयर बनाएं और फिर इसे इलास्टिक बीनस्टॉक वातावरण में संलग्न करें।

की-जोड़ी बनाने के लिए कदम

  1. AWS में लॉगिन करें
  2. सेवाएँ -> EC2
  3. नेटवर्क और सुरक्षा के तहत बाईं ओर प्रमुख जोड़े का चयन करें
  4. Create New Key Pair, सेलेक्ट नेम टाइप को सेलेक्ट करें और create पर क्लिक करें। कुंजी आपके सिस्टम में स्वचालित रूप से डाउनलोड हो जाएगी।

इलास्टिक बीनस्टॉक पर्यावरण के लिए महत्वपूर्ण जोड़ी बनाने के लिए कदम

  1. AWS -> सेवाएं -> लोचदार बीनस्टॉक

  2. अपने वातावरण का चयन करें और बाईं ओर कॉन्फ़िगरेशन पर क्लिक करें।

  3. कॉन्फ़िगरेशन अवलोकन में सुरक्षा से संशोधित करें का चयन करें।

  4. वर्चुअल मशीन अनुमतियों के तहत हमने बनाया कुंजी-जोड़ी का चयन करें।

  5. Save पर क्लिक करें और फिर save कॉन्फ़िगरेशन पर।

आपके EC2 उदाहरण को दर्शाने में कुछ समय लगेगा।


9

यदि आप लोचदार बीन और ईबी सीएलआई का उपयोग कर रहे हैं, तो eb sshउदाहरण के लिए लॉगिन करने के लिए उपयोग करें। आप नीचे दिए गए लिंक http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-ssh.html में निर्दिष्ट विकल्पों का उपयोग कर सकते हैं


3

आपको अपने सार्वजनिक आईपी पते का उपयोग करके सीधे ec2 उदाहरण से कनेक्ट करने की आवश्यकता है। आप इलास्टिकबेस्टल यूआरएल का उपयोग करके कनेक्ट नहीं कर सकते।

आप उदाहरण के लिए IP2 को ec2 कंसोल में देख कर पता कर सकते हैं।

आपको यह भी सुनिश्चित करना होगा कि पोर्ट 22 खुला है। डिफ़ॉल्ट रूप से EB सीएलआई एक ssh कनेक्शन पूरा होने के बाद पोर्ट 22 को बंद कर देता है। Ssh सत्र पूरा होने के बाद पोर्ट को खुला रखने के लिए आप eb ssh -o कह सकते हैं।

चेतावनी: आपको पता होना चाहिए कि लोचदार बीनस्टॉक कभी भी आपके उदाहरण को बदल सकता है। आपके किसी भी लोचदार बीनस्टॉक उदाहरणों पर राज्य की गारंटी नहीं है। इसका शायद परीक्षण और डिबगिंग उद्देश्यों के लिए ssh का उपयोग करना बेहतर है, क्योंकि आप जो भी संशोधित करते हैं वह किसी भी समय दूर जा सकता है।


2

वर्तमान UI के साथ ElasticBeanstalk ec2 उदाहरण के लिए की-जोड़ी सेट करने की दिशा है: चेतावनी: इसके लिए आपके ElasticBeanstalk App में EC2 उदाहरणों के अपडेट की आवश्यकता होगी। नोट: आपको इससे पहले EC2 डैशबोर्ड में एक की-जोड़ी बनानी होगी।

1) AWS डैशबोर्ड में, ElasticBeanstalk सेवा का चयन करें 2) उस एप्लिकेशन का चयन करें जिसका आप उपयोग करना चाहते हैं। 3) 'कॉन्फ़िगरेशन' का चयन करें 4) 'इंस्टेंस' कॉन्फ़िगरेशन बॉक्स पर गियर (सेटिंग्स) आइकन चुनें। 5) यह आपको 'सर्वर' नाम के एक पृष्ठ पर ले जाएगा, जहाँ आप अपनी वांछित कुंजी-जोड़ी के साथ 'EC2 कुंजी जोड़ी' ड्रॉप-डाउन फ़ील्ड को अपडेट कर सकते हैं और 'सेव' चुन सकते हैं।

ध्यान देने वाली एक बात यह है कि यह कई उदाहरणों वाले एप्लिकेशन के लिए काम नहीं कर सकता है (लेकिन मेरा मानना ​​है कि यह संभावना है कि यदि वे कुंजी-जोड़ी के समान क्षेत्र में हैं)।


1

मैं यहाँ आया हूँ कि प्रोविजनिंग के दौरान बीनस्टॉक क्रिएट करने के लिए एक कुंजी जोड़ने का रास्ता खोज रहा है (हम टेराफॉर्म का उपयोग कर रहे हैं)। आप टेराफॉर्म में निम्न कार्य कर सकते हैं:

resource "aws_elastic_beanstalk_environment" "your-beanstalk" {
   ... 
   setting {
      namespace = "aws:autoscaling:launchconfiguration"
      name      = "EC2KeyName"
      value     = "${aws_key_pair.your-ssh-key.key_name}"
   }
   ...
}

फिर आप उस कुंजी को SSH बॉक्स में उपयोग कर सकते हैं।


1

यदि आपने eb initअपने पर्यावरण का उपयोग करते हुए सीएलआई की स्थापना की है तो यह उतना ही सरल होना चाहिए

eb ssh --setup जो आपको एक नई कुंजी जोड़ी बनाने या मौजूदा एक का उपयोग करने की अनुमति देगा यदि कोई मौजूद है।

आप मौजूदा वातावरण से भी जुड़ सकते हैं, eb useहालांकि मैंने ऐसा नहीं किया है।

CLI स्थापित करने के विवरण के लिए - https://docs.aws.amazon.com/console/elasticbeanstalk/eb-li-install


1

मैक पर आप का उपयोग कर cli स्थापित कर सकते हैं:

brew install awsebcli

कमांड लाइन टूल के साथ आप इसके साथ ssh कर सकते हैं:

eb ssh environment-name

और अन्य ऑपरेशन भी करते हैं। यह मानता है कि आपने एक सुरक्षा समूह जोड़ा है जो आपके आईपी से ssh की अनुमति देता है।


0

आपके पर्यावरण कॉन्फ़िगरेशन के आधार पर, आपके EC2 उदाहरण पर सार्वजनिक IP पता नहीं हो सकता है जो आपके वातावरण के लिए बनाया गया था। आप द्वारा जाँच कर सकते हैं:

  1. EC2 कंसोल पर जाएं
  2. अपना उदाहरण ढूंढें और विवरण टैब देखें
  3. अगर कोई सार्वजनिक आईपी नहीं है ...
  4. नेविगेशन पर इलास्टिक आईपी पर क्लिक करें
  5. नया पता आवंटित करें पर क्लिक करें
  6. पूल के लिए अमेज़ॅन चुनें
  7. आवंटन पर क्लिक करें

अंत में, अपना नया ईआईपी चुनें और एक्शन मेनू से एसोसिएट एड्रेस चुनें। अपने EC2 उदाहरण के साथ उस IP को संबद्ध करें। आपको eb sshअभी का उपयोग करके कनेक्ट करने में सक्षम होना चाहिए ।

आप कनेक्शन विवरण चलाकर रीसेट कर सकते हैं eb ssh --setup


-5

मैं भी थोड़ी देर पहले उसी समस्या में भाग गया। मैं कुंजी फ़ाइल का उपयोग करना चाहता था, लेकिन अमेज़ॅन कहीं कहता है कि आप मौजूदा EC2 सर्वर में एक कुंजी फ़ाइल नहीं जोड़ सकते। पहला बीनस्टॉक आवेदन के लिए, अमेज़ॅन आपके लिए आवेदन को पूर्व-निर्धारित करता है। आपको एक नया एप्लिकेशन बनाने की आवश्यकता है, और आप EC2 सर्वर को कॉन्फ़िगर कर सकते हैं जो एक पुरानी pem फाइल (अगर पोट्टी का उपयोग करके ppk) का उपयोग करने के लिए बीनस्टॉक ऐप चलाता है, या आप एक नया बना सकते हैं। अब आपको एसएसएच करने में सक्षम होना चाहिए।

यहां छवि विवरण दर्ज करें

फिर कॉन्फ़िगर करें, फिर अपना पुराना ऐप हटाएं।


3
ये गलत है। आप मौजूदा बीनस्टॉक ऐप में कीफ़ाइल जोड़ सकते हैं। यह खुद को मार डालेगा / पुनर्निर्माण करेगा। आपको स्वयं एप्लिकेशन हटाने / बनाने की आवश्यकता नहीं है।
नैट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.