يعلم الجميع أن نظم التشغيل لينكس تأتي مع وصول مستخدم الجذر وبشكل افتراضي، يكون الوصول كمستخدم جذر ممكّنًا للعالم الخارجي.
لأسباب أمانية، من غير الجيد أن يكون الوصول إلى جذر SSH ممكّنًا للمستخدمين غير المصرّح لهم. لأن أي هاكر يمكنه محاولة تخمين كلمة المرور الخاصة بك والوصول إلى نظامك.

لذا، من الأفضل أن تكون هناك حساب آخر تستخدمه بانتظام ثم تبديل المستخدم إلى مستخدم الجذر باستخدام أمر ‘su -‘ عند الضرورة. قبل أن نبدأ، تأكد من أن لديك حساب مستخدم عادي وباستخدامه، يمكنك الوصول إلى الجذر باستخدام ‘su’ أو ‘sudo’.
[ قد ترغب أيضًا في: كيفية تأمين وتقوية خادم OpenSSH ]
في لينكس، من السهل جدًا إنشاء حساب منفصل، قم بتسجيل الدخول كمستخدم جذر وببساطة قم بتشغيل أمر adduser لإنشاء مستخدم منفصل. بمجرد إنشاء المستخدم، اتبع الخطوات التالية لتعطيل تسجيل الدخول باستخدام جذر SSH.
نحن نستخدم ملف تكوين الـ sshd الرئيسي لتعطيل تسجيل الدخول كـ root وقد يؤدي ذلك إلى تقليل ومنع القراصنة من الحصول على الوصول إلى جذر جهازك Linux. نرى أيضًا كيفية تمكين وصول root مرة أخرى بالإضافة إلى كيفية تحديد الوصول إلى SSH بناءً على قائمة المستخدمين.
تعطيل تسجيل دخول SSH للمستخدم root
لتعطيل تسجيل الدخول كـ root، افتح ملف تكوين ssh الرئيسي /etc/ssh/sshd_config باستخدام محرر النص الذي تفضله.
# vi /etc/ssh/sshd_config
ابحث عن السطر التالي في الملف.
#PermitRootLogin no
قم بإزالة ‘#‘ من بداية السطر. اجعل السطر يبدو مشابهًا لهذا.
PermitRootLogin no

بعد ذلك، نحتاج إلى إعادة تشغيل خدمة الشيفرة SSH.
# systemctl restart sshd OR # /etc/init.d/sshd restart
حاول الآن تسجيل الدخول بمستخدم root، ستحصل على خطأ “Permission denied”.
$ ssh [email protected] [email protected]'s password: Permission denied, please try again.

لذا، من الآن فصاعدًا قم بتسجيل الدخول كمستخدم عادي ثم استخدم أمر ‘su’ للتبديل إلى مستخدم root.
$ ssh [email protected] [email protected]'s password: Last login: Mon Dec 27 15:04:58 2021 from 192.168.0.161 $ su - Password: Last login: Mon Dec 27 15:05:07 IST 2021 on pts/1

تمكين تسجيل دخول SSH للمستخدم root
لتمكين تسجيل دخول SSH للمستخدم root، افتح الملف /etc/ssh/sshd_config.
# vi /etc/ssh/sshd_config
ابحث عن السطر التالي وقم بإزالة ‘#‘ من البداية واحفظ الملف.
PermitRootLogin yes

أعد تشغيل خدمة sshd.
# systemctl restart sshd OR # /etc/init.d/sshd restart
حاول الآن تسجيل الدخول بمستخدم root.
$ ssh [email protected] [email protected]'s password: Last login: Mon Dec 27 15:14:54 2021 from 192.168.0.161

تحديد تسجيل دخول المستخدمين إلى SSH
إذا كان لديك عدد كبير من حسابات المستخدمين على الأنظمة، فمن المنطقي أن نحدّد الوصول عبر SSH عن بعد لتلك الحسابات التي تحتاج حقًا إليه. افتح ملف /etc/ssh/sshd_config.
# vi /etc/ssh/sshd_config
أضف سطر AllowUsers في الأسفل من الملف بمسافة تفصل بينها قائمة من أسماء المستخدمين. على سبيل المثال، يمتلك المستخدم tecmint و sheena كلاهما وصولًا إلى SSH عن بُعد.
AllowUsers tecmint sheena

الآن أعد تشغيل خدمة ssh.
Source:
https://www.tecmint.com/disable-or-enable-ssh-root-login-and-limit-ssh-access-in-linux/