لقد كنت أستخدم مصادقة المفتاح العام على خادم بعيد لبعض الوقت الآن لاستخدام shell عن بعد وكذلك لتركيب sshfs. بعد فرض عدد كبير من دليل sshfs الخاص بي ، لاحظت أن ssh بدأ يطالبني بكلمة مرور. حاولت تطهير .ssh / author_keys البعيدة من أي ذكر للجهاز المحلي ، وقمت بتنظيف الجهاز المحلي من الإشارات إلى الآلة البعيدة. ثم كررت معرف نسخة ssh ، وطالبت بكلمة مرور ، وعادت بشكل طبيعي. لكن ، عندما أقوم بـ ssh إلى الخادم البعيد ، ما زلت أطالب بكلمة مرور. أنا في حيرة من أمري حول ما يمكن أن تكون المشكلة ، أي اقتراحات؟

answer

تحقق من أن الطرف البعيد sshd_configيحتوي على AuthorizedKeysFileتوجيه يطابق ما تتوقعه (أو لا شيء ؛ الافتراضي هو .ssh/authorized_keys) ، والذي PubkeyAuthenticationلم يتم تعطيله ، وإما UsePAMأنه معطل أو أن تكوين خدمة PAM لـ sshd لا يفرض إدخال كلمة مرور تفاعلية. تحقق أيضًا مما إذا كان جهاز التحكم عن بُعد قد تم تثبيته openssh-blacklist، وإذا كان الأمر كذلك ، فتحقق مما إذا كان مفتاحك متأثرًا .

كن حذرًا مع الأذونات ، إذا تم ترميز الملف أو الدليل الذي يحتوي على ملفات ssh إلى 777 ، فسيرفض sshd استخدام هذا النوع من المصادقة لأسباب أمنية.

تحقق من الإذن في ملف .ssh / author_keys. يجب على الآخرين قراءة الإذن لقراءة المفتاح.

شكرا