الرئيسية
» لينوكس
»
كيفية تفعيل تسجيل دخول الجذر عبر SSH على نظام لينكس باستخدام مفاتيح SSH
كيفية تفعيل تسجيل دخول الجذر عبر SSH على نظام لينكس باستخدام مفاتيح SSH
لتفعيل تسجيل دخول المستخدم الجذر عبر SSH باستخدام مفتاح عام، أضف المفتاح إلى ملف sshd_config الخاص بالمستخدم الجذر authorized_keys، ثم اضبط الإعدادات PermitRootLogin prohibit-password، وتحقق من صحة إعدادات OpenSSH، وأعد تشغيل الخدمة. يتيح هذا للمستخدم الجذر تسجيل الدخول باستخدام المفتاح مع حظر المصادقة بكلمة المرور والمصادقة التفاعلية عبر لوحة المفاتيح. راجع دليل sshd_config الخاص بـ OpenSSH للاطلاع على تعريفات الخيارات.
يوضح هذا الرسم التوضيحي للطرفية مطالبة الثقة؛ تحقق من بصمة المضيف الفعلية من خلال قناة موثوقة قبل قبولها.
يمنح الوصول المباشر إلى صلاحيات الجذر المستخدمَ مفتاحًا مُعتمدًا تحكمًا غير مقيد. استخدمه فقط على نظام تُديره، ويُفضّل أن يكون خلف شبكة خاصة أو جدار حماية. للعمل الروتيني، سجّل الدخول كمستخدم مُسمّى واستخدم الأمر المناسب sudo. أبقِ جلستك الحالية مفتوحة، وتأكد من وجود مسار استرداد بديل قبل تغيير إعدادات SSH عن بُعد.
قبل تعديل خادم SSH
قم بالاتصال بحساب يمكنه التشغيل sudo، وتأكد من أن خادم OpenSSH قيد التشغيل.
جهّز زوج مفاتيح SSH للعميل. ستقوم بنسخ المفتاح العام (عادةً ما يكون الملف الذي ينتهي بـ .ssh .pub)؛ لا تشارك المفتاح الخاص مطلقًا.
لا تُعيّن كلمة مرور للمستخدم الجذر فقط لاستخدام SSH عبر المفاتيح. فكلمة المرور المُقفلة والوصول عبر المفتاح العام عنصران منفصلان، مع العلم أن سياسات حسابات التوزيعة قد تؤثر على تسجيل الدخول. ويوضح دليل إدارة المستخدمين في أوبونتو أن قفل كلمة المرور وحده لا يُعطّل الوصول إلى مفاتيح SSH الموجودة.
تفعيل تسجيل الدخول إلى الجذر عبر SSH باستخدام المفتاح
1. قم بتسجيل الدخول كمسؤول النظام المعتاد
من خلال طرفية على جهازك، قم بالاتصال بالحساب الذي لديه بالفعل صلاحيات sudo:
ssh admin@server.example.com
استبدل القيم النموذجية. تحقق من بصمة مفتاح المضيف الجديد عبر قناة موثوقة قبل قبوله.
2. أضف مفتاحك العام إلى حساب الجذر
على الخادم، أنشئ دليل SSH الخاص بالمستخدم الجذر مع أذونات مقيدة، ثم عدّل قائمة المفاتيح المصرح بها:
أضف المفتاح العام الكامل كسطر واحد في ملف authorized_keys الخاص بالمستخدم root؛ المفتاح المختصر الموضح هنا هو مجرد عنصر نائب مرئي.
3. ضبط سياسة تسجيل دخول المستخدم الجذر
افتح إعدادات الخادم باستخدام محرر، على سبيل المثال:
sudoedit /etc/ssh/sshd_config
ابحث عن التوجيه النشط PermitRootLoginوقم بتغييره إلى:
PermitRootLogin prohibit-password
هذا أكثر أمانًا من غيره PermitRootLogin yes، والذي قد يسمح باستخدام كلمات مرور الجذر. تجنب إضافة توجيه مكرر: يستخدم OpenSSH القيمة الأولى التي يحصل عليها، وقد تقوم التوزيعات بتحميل Includeملفات. عدّل الإعداد النشط واترك خيارات المصادقة الأخرى دون تغيير.
يتحكم السطر المميز في الجذر؛ أما خيارات المصادقة الأخرى المعروضة فهي إعدادات منفصلة ويجب أن تتطابق مع سياستك.
4. تحقق من صحة الإعدادات قبل تطبيقها
تحقق من وجود أخطاء في بناء الجملة أولاً:
sudo sshd -t
عدم وجود مخرجات يعني أن فحص بناء الجملة قد نجح. أصلح أي خطأ مُبلغ عنه قبل إعادة التحميل. افحص القيمة الفعلية باستخدام:
sudo sshd -T | grep permitrootlogin
تأكد من أن المخرجات تُظهر ذلك permitrootlogin prohibit-password. إذا لم يكن الأمر كذلك، فتحقق من الملفات المضمنة Matchوالكتل ذات الصلة. يُعرّف دليل sshd-t ذلك على أنه فحص بناء الجملة -Tوتقرير التكوين الفعال.
قم بتشغيل الأمر sshd -t قبل تطبيق التغييرات، ثم افحص إعداد تسجيل الدخول الجذر الفعال.
5. أعد تحميل خدمة SSH
استخدم اسم الخدمة الخاص بتوزيعتك. تستخدم أوبونتو وديبيان عادةً ما يلي:
sudo systemctl reload ssh.service
تستخدم توزيعات فيدورا، وRHEL، والعديد من التوزيعات الأخرى بشكل شائع ما يلي:
sudo systemctl reload sshd.service
إذا لم يكن خيار إعادة التحميل مدعومًا، فاستخدمه systemctl restartمع اسم الخدمة المطابق، واحتفظ بجلسة العمل الأصلية مفتوحة. كما يُوصي دليل OpenSSHsshd -t الخاص بنظام Ubuntu بتشغيله قبل إعادة التشغيل.
أعد تحميل برنامج SSH بعد أن يجتاز التكوين فحص بناء الجملة؛ تختلف أسماء الخدمات باختلاف التوزيعة.
6. اختبر الوصول إلى الجذر من طرفية ثانية
افتح نافذة طرفية منفصلة على جهاز العميل وحدد المفتاح الخاص الذي يطابق المفتاح العام الذي قمت بتثبيته:
ssh -i ~/.ssh/id_ed25519 root@server.example.com
استبدل مسار المفتاح واسم المضيف. تحقق من أي مطالبة بمفتاح المضيف، وتأكد من فتح الجلسة بصلاحيات المستخدم الجذر. إذا فشل الاختبار، فابدأ باستكشاف الأخطاء وإصلاحها من الجلسة الأصلية، وأبقها مفتوحة حتى استعادة الوصول.
قم بإجراء الاختبار من جهاز طرفي جديد باستخدام المفتاح الخاص المطابق قبل إغلاق جلسة المسؤول.
حل مشكلة رفض تسجيل دخول المستخدم الجذر
تأكد من Permission denied (publickey)وجود المفتاح العام الكامل /root/.ssh/authorized_keysوأن العميل يستخدم مفتاحه الخاص المطابق. أعد التحقق من الملكية والأذونات.
تحقق أيضًا من القيمة الفعلية PermitRootLogin، وقواعد AllowUsers/ DenyUsers، وسجلات الخادم، وواجهة تسجيل دخول المستخدم الجذر. تجنب تغيير الإعداد yesكاختصار؛ فقد يؤدي ذلك إلى توسيع طرق المصادقة المسموح بها للمستخدم الجذر.
يجب أن يكون دليل SSH الخاص بالمستخدم الجذر مملوكًا للمستخدم الجذر، مع وضع 700 للدليل و600 للمفاتيح المصرح بها.
قم بتعطيل تسجيل الدخول إلى SSH الخاص بالجذر عندما لا تعود بحاجة إليه
لإيقاف الوصول المباشر إلى الجذر عبر SSH، قم بتغيير التوجيه النشط إلى:
PermitRootLogin no
قم بتشغيل sudo sshd -tالخدمة الصحيحة وإعادة تحميلها. هذا يمنع الوصول المباشر إلى حساب الجذر عبر SSH مع إبقاء حساب المسؤول متاحًا. قد لا يؤدي قفل كلمة المرور وحده إلى تعطيل تسجيل دخول الجذر باستخدام المفتاح العام.
قم بتعيين PermitRootLogin إلى "لا"، ثم تحقق من صحة البيانات، وأعد تحميل الصفحة. خيارات المصادقة الأخرى المعروضة منفصلة وليست مطلوبة لهذا التغيير الذي يقتصر على المستخدم الجذر.