سؤال الأذونات على المفتاح الخاص في مجلد .ssh؟


لقد غيرت أذوناتي في بلدي .ssh المجلد والآن عندما أستخدم برنامجًا يستخدم مفتاحي الخاص ، يجب علي كتابة كلمة المرور الخاصة بي في كل مرة. ماذا يجب أن تكون أذوناتي على بلدي id_rsa ليس من الضروري كتابة كلمة مرور في كل مرة أستخدم فيها تطبيقًا يستخدمه؟

يتم حاليًا تعيين الأذونات على:

-rw-------@ 1 Jody  staff   114 Nov  4 23:29 config
-rw-------  1 Jody  staff  1743 Oct 21  2009 id_rsa
-rw-------@ 1 Jody  staff   397 Oct 21  2009 id_rsa.pub 
-rw-------@ 1 Jody  staff  3855 Sep 13 22:35 known_hosts

297
2017-11-26 22:04


الأصل




الأجوبة:


عادة ما تريد أن تكون الأذونات:

  • .ssh دليل: 700 (drwx------)
  • المفتاح العمومي (.pub ملف): 644 (-rw-r--r--)
  • مفتاح سري (id_rsa): 600 (-rw-------)
  • أخيرا لا ينبغي أن يكون دليل منزلك للكتابة من قبل المجموعة أو غيرها (على الأكثر 755 (drwxr-xr-x)).

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


506
2017-11-26 22:24



لقد وجدت في مكان آخر أنه في حالة استخدام ملف authorized_keys ، يجب أن يكون chmod'd إلى 640 ، أي -rw-r -----. - AnneTheAgile
أين يمكنني العثور على هذه المعلومات في صفحات رجل؟ - Sonique
لقد عدت إلى هذه المشاركة حوالي 30 مرة الآن. لا أستطيع أن أصدق أنني غير قادر على تذكر ذلك. - JREAM
الأشياء المهمة الوحيدة هي أن لا شيء في .ssh يمكن الكتابة لأي شخص آخر ولا يمكن قراءة أي من المفاتيح السرية لأي شخص آخر. - Markus Kuhn
Cerin تنفيذ إذن على دليل يمنح القدرة على قائمة الملفات الفرعية / dirs من هذا الدليل ، الملفات الموجودة داخل المجلد لا "ترث" بت تنفيذ المجلد الأصلي. - Thomas


كنت أعاني من هذا إلى الأبد وأخيراً فهمت ما هو مطلوب. يحل محل $USER في كل مكان باستخدام اسم مستخدم SSH الذي تريد تسجيل الدخول إليه على الخادم. إذا كنت تحاول تسجيل الدخول باسم root كنت بحاجة لاستخدام /root/.ssh إلخ ، بدلاً من /home/root/.ssh وهو كيف هو الحال بالنسبة للمستخدمين غير الجذر.

  • يجب ألا يكون الدليل الرئيسي على الخادم قابل للكتابة من قبل الآخرين: chmod go-w /home/$USER
  • يحتاج مجلد SSH على الخادم إلى 700 إذن: chmod 700 /home/$USER/.ssh
  • يحتاج ملف Authorized_keys إلى أذونات 644: chmod 644 /home/$USER/.ssh/authorized_keys
  • تأكد من أن user يملك الملفات / المجلدات وليس root: chown user:user authorized_keys و chown user:user /home/$USER/.ssh
  • ضع المفتاح العام الذي تم إنشاؤه (من ssh-keygen) في المستخدم authorized_keys الملف على الخادم
  • تأكد من تعيين الدليل الرئيسي للمستخدم على ما تتوقعه ومن احتوائه على الصحيح .ssh المجلد الذي قمت بتعديله. إن لم يكن ، استخدم usermod -d /home/$USER $USER لإصلاح المشكلة
  • أخيرًا ، أعد تشغيل ssh: service ssh restart
  • ثم تأكد من أن العميل لديه المفتاح العمومي وملفات المفتاح الخاص في المستخدم المحلي .ssh المجلد وتسجيل الدخول: ssh user@host.com

70
2018-06-09 20:39



فيما يتعلق بالفقرة الأولى ، أتمكن من استخدام مفاتيح عامة / خاصة مع مستخدم في مربع linux المحلي (على سبيل المثال ، abc) ، تختلف عن المستخدم على الخادم البعيد (على سبيل المثال ، def@123.456.789). كان علي فقط التأكد من أن المستخدم المحلي يملك ملفات .ssh المحلية (على سبيل المثال ، abc:abc، ليس root:abc) ` - Michael
شكرا لوضع كل الخطوات والأوامر للمبتدئين ، أليكس. تفضلوا بقبول فائق الاحترام هو واحد من الأجوبة الأكثر فائدة هنا. - Nav
+1. "يحتاج ملف Authorized_keys إلى أذونات 644" <= التي كانت حاسمة! - Le Quoc Viet
إذا كنت تعطي دليل .ssh 700 الوضع ، ثم هناك لا جدوى في إعطاء r-- للمجموعة وغيرها ، لأن أنت فقط يمكن "الانتقال" .ssh ثم (على افتراض عدم وجود ارتباطات قوية لهذه الملفات). الشيء نفسه بالنسبة للإجابة المقبولة. الافتراضي 755 يكفي. - user3125367


تأكد أيضًا من أن دليل منزلك غير قابل للكتابة من قبل مستخدمين آخرين.

chmod g-w,o-w ~


32
2018-01-03 03:50



لمعلوماتك ، يفترض هذا الأمر أنك قمت بتسجيل الدخول كمستخدم وليس الجذر - Alex W


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

قد تفكر في تشغيل وكيل ssh ، والذي يمكنه تخزين المفاتيح التي تم فك تشفيره وإمدادها بالتطبيقات التي تحتاجها.


5
2017-11-26 22:07



شكرا للمعلومات الإضافية عن وكيل ssh. يبدو أن هناك واحدًا مدمجًا في Leopard لذا أعتقد أنني سأفعل ذلك. وجود القليل من المتاعب معها ولكنني سأطرح سؤالا آخر.
لا تقلل من شأن الأذونات. هم بالتأكيد ما زالوا يلعبون. - Alex W
AlexW إنهم يلعبون مع جوانب أخرى من ssh ، ولكن لا يسأل واحد حول في السؤال. - cdhowie
إذا لم يكن لديك كلمة مرور على المفاتيح الخاصة (غمضة في جهاز التحكم عن بعد الآلي تسمى البرامج النصية) ، فلن يساعدك ذلك. الأذونات ضرورية هنا. - nerdoc
"لا بد لي من كتابة كلمة المرور الخاصة بي في كل مرة. ما الذي يجب أن تكون أذوناتي على ملف id_rsa الخاص بي لكي لا تضطر إلى كتابة كلمة مرور في كل مرة أستخدم فيها تطبيقًا يستخدمه؟" - Craig Hicks


Felipe صحيح - يجب ألا يكون الدليل الذي يحتوي على دليل .ssh قابل للكتابة بواسطة مجموعة أو غيره. وهكذا chmod go-w ~ هو الشيء المنطقي التالي الذي يجب تجربته إذا كنت لا تزال مطالبًا بكلمة مرور عند استخدام ssh'ing بعد التشغيل ssh-keygen -t rsa; cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys، بافتراض عدم تعيين عبارة مرور في الأمر ssh-keygen ، ويكون دليل .ssh موجودًا في الدليل الرئيسي.


4
2018-04-17 20:20