ماذا تفعل عندما لا تعمل المصادقة المستندة إلى مفتاح بعد ssh-copy-id

لقد قمت مؤخرًا بتزويد خادم Ubuntu الظاهري الخاص (VPS) على Vultr. أنا متحيز لـ CentOS بنفسي ، لكن المهمة التي كنت أعمل عليها أوصت بـ Ubuntu.

لإعداد المصادقة القائمة على المفتاح من الكمبيوتر المحمول إلى الخادم ،

  • لقد قمت بإنشاء زوج مفاتيح SSH جديد (يسمى "ubuntu") على جهاز Mac الخاص بي باستخدام الأمر: ssh-keygen -t rsa -b 4096
  • ثم استخدمت ssh-copy-idالأداة المساعدة لنسخ المفتاح العام الخاص بي إلى authorized_keysالملف الموجود على Vultr VPS:ssh-copy-id -i .ssh/ubuntu [email protected]

كما توقعت ، طلبت الأداة المساعدة كلمة مرور VPS الخاصة بي لإكمال نقل المفتاح العام. عندما تم كل شيء ، حاولت تسجيل الدخول إلى VPS الخاص بي.

كان يجب أن يسمح لي بالمرور دون الحاجة إلى كلمة مرور:

ssh -i .ssh/ubuntu [email protected]

لكن ظللت أطالب بكلمة مرور. ؟

  • لقد تحققت من ملفي authorized_keysعلى VPS للتأكد من نسخ المفتاح العمومي بشكل صحيح. التحقق من. ؟؟
  • لقد تأكدت من أن الملف كان للقراءة والكتابة فقط لنفسي وليس للآخرين. التحقق من. ؟؟
  • لقد تأكدت من تمكين الخيارات التالية في /etc/ssh/sshd_config: PubkeyAuthentication yesو AuthorizedKeysFile .ssh/authorized_keys. التحقق من. ؟؟

ومع ذلك ، ظللت تتم مطالبتك بكلمة مرور عند تسجيل الدخول من جهاز الكمبيوتر المحمول.

بعد بضع دقائق على StackOverflow ، تعرفت على أدلة الصفحة الرئيسية المشفرة ، والتي تكون افتراضية في بعض البيئات ، بما في ذلك Ubuntu.

لا يتم فك تشفير أدلة الصفحة الرئيسية المشفرة حتى يتم تسجيل الدخول الأولي بنجاح. ومع ذلك ، authorized_keysيتم تخزين ملفي في دليلي الرئيسي.

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

للتغلب على هذا ، قمت بإنشاء دليل باسم اسم المستخدم الخاص بي aritdevخارج دليلي الرئيسي (اخترت /etc/) ، ومنحته أذونات كاملة لنفسي ، ولكن أذونات قراءة وتنفيذ لأي شخص آخر. بعد ذلك ، قمت بنقل ملفي authorized_keysإلى /etc/aritdev/. بعد ذلك ، قمت بتحديث AuthorizedKeysFileالمعلمة في /etc/ssh/sshd_config:

AuthorizedKeysFile /etc/%u/authorized_keys

أخيرًا ، أعدت تشغيل خدمة SSH. للاختبار ، قمت بتسجيل الخروج من VPS الخاص بي ، ثم حاولت تسجيل الدخول مرة أخرى. BOOM - لقد نجحت! ؟؟

ما المشكلات المتعلقة بمصادقة الخادم التي واجهتها؟ كيف قمت بحلهم؟ يرجى المشاركة أدناه! ؟؟