تحذير: غير محمي ملف مفتاح خاص! عند محاولة SSH إلى مثيل EC2 الأمازون

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 من أجل الوصول إلى مثيلتي الشخصية الليلة الماضية ، وجرّبت بإعداد الأذونات إلى 0 وحتى توليد سلاسل مفاتيح جديدة ، ولكن لا شيء يبدو ناجحًا.

أي مساعدة على الإطلاق سيكون مساعدة كبيرة!


جلالة الملك ، يبدو كما لو لم يتم تعيين الأذونات إلى 777 على الدليل ، البرنامج النصي تشغيلات ec2- تشغيل غير قادر على العثور على ملفات التعريف الخاصة بي. أنا جديد على SSH لذا قد أكون مطلاً على شيء ما.

123
تحتاج إلى إعطاء u = rw و go = chmod الأوامر للملف - قراءة/كتابة baely فقط للمستخدم (أو فقط اقرأ/400). نأمل أن يساعدك هذا .
وأضاف المؤلف Aniket Thakur, مصدر
MikeNereson: لا تتردد في تحريرها ، هذه هي الطريقة التي تجعل الأشياء أفضل هنا
وأضاف المؤلف Stu Thompson, مصدر
هل أنت متأكد من تعيينها إلى 0600 (ثماني) ، وليس 600 (عشري)؟
وأضاف المؤلف hyde, مصدر
عنوان رهيب لهذا السؤال.
وأضاف المؤلف MikeNereson, مصدر
chmod 400 ~/.ssh/id_rsa Reference: stackoverflow.com/a/9270753/2082569
وأضاف المؤلف atulkhatri, مصدر
يجب أن تتطلب الأمثلة التي يتم تشغيلها عبر ec2 اسمًا رئيسيًا فقط ، وهو شيء يعيش على جانب Amazon. يجب أن تستخدم مفتاحك الخاص الفعلي فقط (المفتاح الموجود على القرص) عند دخولك إلى SSH. ما الخطأ الذي تحصل عليه من مثيلات ec2-run-start؟
وأضاف المؤلف user27619, مصدر

6 إجابة

اقتربت من مفتاحي إلى 600 من أجل الوصول إلى شخصيتي الليلة الماضية ،

وهذه هي الطريقة التي من المفترض أن تكون.

من وثائق EC2 لدينا "إذا كنت" إذا كنت تستخدم OpenSSH (أو أي عميل SSH مصاب بجنون العظمة) ، فستحتاج على الأرجح إلى تعيين أذونات هذا الملف بحيث تكون قابلة للقراءة فقط من جانبك. وثائق الباندا التي ترتبط بها إلى روابط إلى وثائق أمازون ولكن في الحقيقة ينقل مدى أهمية كل شيء.

الفكرة هي أن ملفات الأزواج الرئيسية تشبه كلمات المرور وتحتاج إلى الحماية. لذا ، يتطلب عميل ssh الذي تستخدمه أن يتم تأمين تلك الملفات وأن حسابك هو الوحيد الذي يمكنه قراءتها.

يجب أن يكون إعداد الدليل إلى 700 فعلاً كافياً ، ولكن 777 لن يضر طالما أن الملفات 600.

أي مشاكل تواجهها هي جانب العميل ، لذلك تأكد من تضمين معلومات نظام التشغيل المحلي مع أي أسئلة متابعة!

149
وأضاف
يبدو أن رابطStuThompson إلى وثائق EC2 قد مات. يمكنك يرجى تحديث؟
وأضاف المؤلف Aniket Thakur, مصدر
Nevermind تحديث الرابط. شكر.
وأضاف المؤلف Aniket Thakur, مصدر
tobixen: عامان قادمان ، ولكن ... الحل "الصحيح" سيكون وضع المفتاح في مستخدم مخصص ، والسماح لمستخدمي المجموعة بالوصول إلى تشغيل هذا الأمر كمستخدم مخصص.
وأضاف المؤلف Stu Thompson, مصدر
القيام chmod 700 filenmane.pem عملت ، شكرا
وأضاف المؤلف Rich Fox, مصدر
لقد دخلت للتو في موقف اليوم حيث أريد أن يكون ملف keyfile قابلاً للمجموعة (باستخدام ssh ليس لتسجيل الدخول الشخصي ، ولكن لتنفيذ برنامج نصي على خادم بعيد ، مستخدم مخصص على الخادم البعيد لهذا الغرض ، يتم تأمين الملفات المؤمنة لذلك فقط سيتم تشغيل البرنامج النصي المذكور ، ويجب أن يتمكن الأشخاص المتعددين على خادم المصدر من الوصول لتشغيل البرنامج النصي). حسنًا ، أعتقد أن الحل البديل البسيط هو وضع النُسخ في ~/.ssh/لجميع المستخدمين الذين يجب أن يكون لديهم إمكانية الوصول - أو تعبئة ملفات authorized_keys مع جميع المفاتيح الشخصية.
وأضاف المؤلف tobixen, مصدر

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

chmod 700 ~/.ec2
40
وأضاف
أنا فقط استخدمت هذا على ملف .pem وعملت بالنسبة لي.
وأضاف المؤلف CGTheLegend, مصدر
أي سبب خاص لماذا تريد الحصول على امتيازات التنفيذ على الملف؟
وأضاف المؤلف Zoltán, مصدر
@ Zoltán انها دليل ، وليس ملف.
وأضاف المؤلف avmohan, مصدر
شكرا ، هذا يعمل بالنسبة لي أيضا.
وأضاف المؤلف Rubyrider, مصدر
هذه الإجابة صحيحة على النقطة :)
وأضاف المؤلف Populus, مصدر

لإصلاح هذا ، 1) ستحتاج إلى إعادة تعيين الأذونات إلى الوضع الافتراضي:

sudo 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) وأخيرًا ، قد تحتاج إلى ضبط أذونات الدليل أيضًا:

sudo chmod 755 ~/.ssh

هذا يجب أن يعيدك وتشغيله.

15
وأضاف

يجب حماية ملف المفتاح الخاص. في حالتي كنت أستخدم مصادقة public_key لفترة طويلة وكنت معتادًا على تعيين الإذن كـ 600 (rw- --- ---) للمفتاح الخاص و 644 (rw- r-- r--) ولأجل المجلد .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 يجب أن ترى ** pem **. ppk known_hosts

ملاحظة: يجب عليك محاولة تسجيل الدخول من نفس الدليل. وإلا ، فستحصل على إذن لنفي الخطأ لأنه لا يمكن أن يأخذ ملف .ppm من الدليل الحالي.

1
وأضاف

أفكر في شيء آخر ، إذا كنت تحاول تسجيل الدخول باسم مستخدم مختلف غير موجود ، فهذه هي الرسالة التي ستحصل عليها.

لذا أفترض أنك قد تحاول استخدام ssh مع مستخدم ec2 لكني أذكر أن معظم أجهزة AMIS على مدار السنين مثلاً تستخدم مستخدم centos بدلاً من مستخدم ec2

حتى لو كنت ssh -i file.pem centos @ public_IP من فضلك أخبرني أنك تحاول استخدام ssh باسم المستخدم الصحيح وإلا قد يكون هذا سبب قوي لرؤية رسالة الخطأ هذه حتى مع الأذونات الصحيحة على ~/.ssh/id_rsa أو file.pem

0
وأضاف