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

StackOverflow https://stackoverflow.com/questions/201893

سؤال

أنا أعمل على إعداد Panda على مثيل Amazon EC2.لقد قمت بإعداد حسابي وأدواتي الليلة الماضية ولم أواجه أي مشكلة في استخدام SSH للتفاعل مع المثيل الشخصي الخاص بي، ولكن في الوقت الحالي لا يُسمح لي بالإذن بالدخول إلى مثيل EC2 الخاص بـ 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-run-instances لن يتمكن من العثور على ملفات المفاتيح الخاصة بي.أنا جديد على SSH لذا ربما أغفل شيئًا ما.

هل كانت مفيدة؟

المحلول

<اقتباس فقرة>   

ولقد chmoded بلدي keypair إلى 600 من أجل الحصول في بلدي المثال شخصي الليلة الماضية،

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

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

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

إعداد الدليل إلى 700 حقا ينبغي أن يكون كافيا، ولكن 777 لن يضر طالما أن الملفات هي 600.

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

نصائح أخرى

تأكد من تعيين الدليل الذي يحتوي على ملفات المفتاح الخاص على 700

chmod 700 ~/.ec2

ولحل هذه المشكلة، 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

وهذا يجب أن تحصل على العودة وتشغيلها.

يجب حماية ملف المفتاح الخاص.في حالتي، كنت أستخدم مصادقة المفتاح العام لفترة طويلة وكنت أضبط الإذن على 600 (rw- --- ---) للمفتاح الخاص و644 (rw- r-- r--) ولـ المجلد .ssh الموجود في المجلد الرئيسي سيكون لديك 700 إذن (rwx --- ---).لإعداد هذا، انتقل إلى المجلد الرئيسي للمستخدم وقم بتشغيل الأمر التالي


تعيين 700 إذن لمجلد .ssh

chmod 700 .ssh


تعيين 600 إذن لملف المفتاح الخاص

chmod 600 .ssh/id_rsa


تعيين 644 إذن لملف المفتاح العام

chmod 644 .ssh/id_rsa.pub

وكما أنني حصلت على نفس القضية، ولكن يمكنني إصلاحه عن طريق تغيير بلدي إذن ملف مفتاح إلى 600.

وsudo chmod 600 /path/to/my/key.pem

الرابط: http://stackabuse.com/how-to-fix-warning-unprotected-private-key-file-on-mac-and-linux/

في النوافذ، حاول استخدام بوابة باش واستخدام لينكس الأوامر هناك. نهج السهل

chmod 400 *****.pem

ssh -i "******.pem" ubuntu@ec2-11-111-111-111.us-east-2.compute.amazonaws.com

احتفظ بمفتاحك الخاص والمفتاح العام والمضيفين المعروفين في نفس الدليل وحاول تسجيل الدخول على النحو التالي:

ssh -I(small i) "hi.pem" ec2-user@ec2-**-***-**-***.us-west-2.compute.amazonaws.com
  • نفس الدليل بالمعنىcd /Users/prince/Desktop.الآن اكتب ls الأمر ويجب أن ترى**.pem **.ppk known_hosts

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


إذا كنت تريد أن تكون قادرًا على استخدام SSH من أي دليل، فيمكنك إضافة ما يلي إليك ~/.ssh/config ملف...

Host your.server
HostName ec2-user@ec2-**-***-**-***.us-west-2.compute.amazonaws.com
User ec2-user
IdentityFile ~/.ec2/id_rsa-gsg-keypair
IdentitiesOnly yes

الآن يمكنك SSH إلى الخادم الخاص بك بغض النظر عن مكان وجود الدليل بمجرد الكتابة ssh your.server (أو أي اسم تضعه بعد "المضيف").

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

وهكذا أفترض أنك قد تحاول سه مع EC2 المستخدم ولكن أذكر مؤخرا معظم سينت أو إس بعثة الاتحاد الأفريقي على سبيل المثال تستخدم سينت أو إس المستخدم بدلا من EC2 المستخدم

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

مجرد ملاحظة لكل من يتعثر في هذا:

إذا كنت تحاول استخدام SSH باستخدام مفتاح تمت مشاركته معك، على سبيل المثال:

ssh -i /path/to/keyfile.pem user@some-host

أين keyfile.pem هو المفتاح الخاص/العام الذي تمت مشاركته معك والذي تستخدمه للاتصال، تأكد من حفظه في ~/.ssh/ و chmod 777.

كانت محاولة استخدام الملف عندما تم حفظه في مكان آخر على جهازي تؤدي إلى ظهور خطأ OP.لست متأكدًا مما إذا كان مرتبطًا بشكل مباشر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top