चेतावनी: अप्रतिबंधित निजी कुंजी फ़ाइल! अमेज़ॅन ईसी 2 इंस्टेंस में एसएसएच की कोशिश करते समय

I'm working to set up Panda on an Amazon EC2 instance. I set up my account and tools last night and had no problem using SSH to interact with my own personal instance, but right now I'm not being allowed permission into Panda's EC2 instance. Getting Started with Panda

मुझे निम्न त्रुटि मिल रही है:

@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @

Permissions 0644 for '~/.ec2/id_rsa-gsg-keypair' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.

मैंने कल रात अपने व्यक्तिगत उदाहरण में प्रवेश करने के लिए 600 की अपनी कीपैयर को chmoded किया है, और 0 पर अनुमतियों को सेट करने और यहां तक ​​कि नए कुंजी तारों को उत्पन्न करने के लिए प्रयोग किया है, लेकिन कुछ भी काम नहीं कर रहा है।

कोई भी मदद बहुत मददगार होगी!


एचएम, ऐसा लगता है कि जब तक निर्देशिका पर अनुमति 777 पर सेट नहीं की जाती है, तो ec2-run-instances स्क्रिप्ट मेरी कीफाइल ढूंढने में असमर्थ है। मैं एसएसएच के लिए नया हूं इसलिए मैं कुछ दिख रहा हूं।

123
आपको फ़ाइल के लिए u = rw और go = chmod कमांड देना होगा - उपयोगकर्ता के लिए बाली रूप से पढ़/लिखना (या बस पढ़ें/400)। आशा है कि यह मदद करता है।
जोड़ा लेखक Aniket Thakur, स्रोत
@ माइकनेरसन: इसे संपादित करने में संकोच न करें, इस तरह हम यहां चीजों को बेहतर बनाते हैं
जोड़ा लेखक Stu Thompson, स्रोत
क्या आप वाकई इसे 0600 (ऑक्टल) पर सेट करते हैं, न कि 600 (दशमलव)?
जोड़ा लेखक hyde, स्रोत
इस सवाल के लिए भयानक शीर्षक।
जोड़ा लेखक MikeNereson, स्रोत
chmod 400 ~/.ssh/id_rsa संदर्भ: stackoverflow.com/a/9270753/2082569
जोड़ा लेखक atulkhatri, स्रोत
ec2-run-instances केवल एक कीपैयर नाम की आवश्यकता होनी चाहिए, जो कुछ ऐसा है जो अमेज़ॅन की तरफ रहता है। जब आप एसएसएच में हों तो आपको केवल अपनी वास्तविक निजी कुंजी (डिस्क पर एक) का उपयोग करना चाहिए। आप ec2-run-instances से क्या त्रुटि प्राप्त कर रहे हैं?
जोड़ा लेखक user27619, स्रोत

6 उत्तर

मैंने कल रात अपने व्यक्तिगत उदाहरण में प्रवेश करने के लिए 600 की अपनी कीपर को chmoded किया है,

और यही वह तरीका है जिसे यह माना जाता है।

EC2 दस्तावेज़ से हमारे पास "यदि आप ' ओपनएसएसएच (या किसी भी उचित पैरानोइड एसएसएच क्लाइंट) का उपयोग कर फिर आपको शायद इस फाइल की अनुमतियां सेट करने की आवश्यकता होगी ताकि यह केवल आपके द्वारा पठनीय हो। " पांडा दस्तावेज जो आप अमेज़ॅन के दस्तावेज़ों से लिंक करते हैं लेकिन वास्तव में नहीं करते हैं यह नहीं बताता कि यह कितना महत्वपूर्ण है।

विचार यह है कि कुंजी जोड़ी फाइलें पासवर्ड की तरह हैं और उन्हें संरक्षित करने की आवश्यकता है। इसलिए, आपके द्वारा उपयोग किए जा रहे एसएसएच क्लाइंट की आवश्यकता है कि उन फ़ाइलों को सुरक्षित किया जाए और केवल आपका खाता ही उन्हें पढ़ सके।

निर्देशिका को 700 पर सेट करना वास्तव में पर्याप्त होना चाहिए, लेकिन 777 तक चोट पहुंचने वाली नहीं है जब तक कि फाइलें 600 हों।

आपके पास जो भी समस्याएं हैं, वे क्लाइंट साइड हैं, इसलिए किसी भी अनुवर्ती प्रश्नों के साथ स्थानीय ओएस जानकारी शामिल करना सुनिश्चित करें!

149
जोड़ा
ईसी 2 दस्तावेज के लिए @StuTompson लिंक मृत लगता है। क्या आप अपडेट कर सकते हैं?
जोड़ा लेखक Aniket Thakur, स्रोत
लिंक को अपडेट न करें। धन्यवाद।
जोड़ा लेखक Aniket Thakur, स्रोत
@tobixen: दो साल आ रहे हैं, लेकिन ... एक समर्पित उपयोगकर्ता में कुंजी डालने के लिए 'सही' कामकाज होगा, और समूह उपयोगकर्ताओं को समर्पित उपयोगकर्ता के रूप में उस आदेश को चलाने के लिए उपयोग की अनुमति दें।
जोड़ा लेखक Stu Thompson, स्रोत
chmod 700 filenmane.pem काम किया, धन्यवाद
जोड़ा लेखक Rich Fox, स्रोत
मैं अभी एक परिस्थिति में आया हूं जहां मैं कुंजीपटल समूह-पठनीय होना चाहता हूं (व्यक्तिगत लॉगिन के लिए एसएसएच का उपयोग नहीं कर रहा हूं, लेकिन रिमोट सर्वर पर एक स्क्रिप्ट निष्पादित करने के लिए, इस प्रयोजन के लिए दूरस्थ सर्वर पर समर्पित उपयोगकर्ता, अधिकृत_की केवल लॉक हो गया है कहा स्क्रिप्ट चलाएगी, और मूल सर्वर पर कई लोगों को स्क्रिप्ट चलाने के लिए उपयोग होना चाहिए)। ओह ठीक है, मुझे लगता है कि सरल कामकाज उन सभी उपयोगकर्ताओं के लिए ~/.ssh/में प्रतिलिपि रखना है जिनके पास पहुंच होनी चाहिए - या सभी व्यक्तिगत कुंजी के साथ अधिकृत_की को पॉप्युलेट करना।
जोड़ा लेखक tobixen, स्रोत

Make sure that the directory containing the private key files is set to 700

chmod 700 ~/.ec2
40
जोड़ा
मैंने बस इसे .pem फ़ाइल पर उपयोग किया और यह मेरे लिए काम किया।
जोड़ा लेखक CGTheLegend, स्रोत
फ़ाइल पर निष्पादन विशेषाधिकार क्यों चाहते हैं कोई विशेष कारण?
जोड़ा लेखक Zoltán, स्रोत
@ ज़ोलटन यह एक निर्देशिका है, फाइल नहीं।
जोड़ा लेखक avmohan, स्रोत
धन्यवाद, यह मेरे लिए भी काम करता है।
जोड़ा लेखक Rubyrider, स्रोत
यह जवाब बिंदु के लिए सही हो जाता है :)
जोड़ा लेखक Populus, स्रोत

इसे ठीक करने के लिए, 1) आपको अनुमतियों को डिफ़ॉल्ट रूप से रीसेट करने की आवश्यकता होगी:

<�कोड> सुडो chmod 600 ~/.ssh/id_rsa  sudo chmod 600 ~/.ssh/id_rsa.pub

अगर आपको एक और त्रुटि मिल रही है: क्या आप वाकई कनेक्ट करना जारी रखना चाहते हैं (हां/नहीं)? हाँ होस्ट को होस्ट किए गए होस्ट (/home/geek/.ssh/known_hosts) की सूची में जोड़ने में विफल।

2) इसका मतलब है कि उस फ़ाइल पर अनुमतियां भी गलत तरीके से सेट की गई हैं, और इसके साथ समायोजित किया जा सकता है:

sudo chmod 644 ~/.ssh/known_hosts

3) अंत में, आपको निर्देशिका अनुमतियों को भी समायोजित करने की आवश्यकता हो सकती है:

<�कोड> सुडो chmod 755 ~/.ssh

यह आपको बैक अप और चलाना चाहिए।

15
जोड़ा

निजी कुंजी फ़ाइल संरक्षित की जानी चाहिए। मेरे मामले में मैं लंबे समय तक public_key प्रमाणीकरण का उपयोग कर रहा हूं और मैं निजी कुंजी और 644 (rw-r-- r--) के लिए 600 (rw- --- ---) के रूप में अनुमति सेट करता था और इसके लिए घर फ़ोल्डर में .ssh फ़ोल्डर आपके पास 700 अनुमति होगी (rwx --- ---)। इसे सेट करने के लिए उपयोगकर्ता के होम फोल्डर पर जाएं और निम्न आदेश चलाएं


Set the 700 permission for .ssh folder

chmod 700 .ssh


Set the 600 permission for private key file

chmod 600 .ssh/id_rsa


Set 644 permission for public key file

chmod 644 .ssh/id_rsa.pub
5
जोड़ा

अपनी निजी कुंजी, सार्वजनिक कुंजी, known_hosts को उसी निर्देशिका में रखें और नीचे लॉगिन करने का प्रयास करें:

ssh -I(small i) "hi.pem" [email protected]---.us-west-2.compute.amazonaws.com

  • अर्थ में वही निर्देशिका, सीडी/उपयोगकर्ता/राजकुमार/डेस्कटॉप अब ls कमांड टाइप करें तुम्हे देखना चाहिए **। पेम **। पीपीके ज्ञात_होस्ट

नोट: आपको एक ही निर्देशिका से लॉगिन करने का प्रयास करना होगा। अन्यथा, आपको अनुमति अस्वीकार कर दी जाएगी क्योंकि यह आपकी वर्तमान निर्देशिका से .ppm फ़ाइल नहीं ले सकती है।

1
जोड़ा

मैं किसी और चीज के बारे में सोच रहा हूं, अगर आप एक अलग उपयोगकर्ता नाम से लॉगिन करने का प्रयास कर रहे हैं जो मौजूद नहीं है तो यह संदेश आपको मिलेगा।

इसलिए मुझे लगता है कि आप ec2-user के साथ ssh करने की कोशिश कर रहे हैं, लेकिन मुझे हाल ही में अधिकांश केंद्र एएमआई याद हैं उदाहरण के लिए ec2-user के बजाय केंद्र उपयोगकर्ता का उपयोग कर रहे हैं

तो अगर आप हैं ssh -i file.pem centos @ public_IP कृपया मुझे बताएं कि आप सही उपयोगकर्ता नाम के साथ ssh के लिए प्रयास कर रहे हैं अन्यथा यह आपके लिए एक त्रुटि संदेश हो सकता है कि यहां तक ​​कि आपके त्रुटि/.ssh/id_rsa या file.pem

0
जोड़ा