CH-J Server Managerإدارة الخوادم عبر SSH
القائمة
جميع الأدلة والمقالات ←

مستخدمو SSH والوصول إلى root: إعداد آمن على Linux

أنشئ حساب مسؤول، وثبّت مفتاحه، واختبر sudo، ثم قيّد تسجيل دخول root دون أن تفقد وصولك.

الهدف وترتيب الخطوات

ينبغي للمسؤولين تسجيل الدخول بحساباتهم الخاصة باستخدام المفاتيح، واستخدام sudo عند الحاجة، لأن ذلك يترك سجلاً يبيّن من فعل ماذا ويحدّ من محاولات تخمين كلمات المرور. ترتيب الخطوات مهم: اجعل طريقة الوصول الجديدة تعمل أولاً، واختبرها، ثم قيّد root في الخطوة الأخيرة. احتفظ بإمكانية الوصول إلى وحدة تحكم مزوّد الخدمة تحسباً لأي مشكلة.

إنشاء الحساب وتثبيت المفتاح

أنشئ الحساب، وأضف مفتاحه العام، واضبط الصلاحيات بإحكام، لأن sshd يتجاهل ملفات المفاتيح التي يستطيع الآخرون الكتابة فيها. لا تنسخ مفتاحاً خاصاً إلى الخادم أبداً. في أنظمة عائلة Red Hat، استخدم المجموعة wheel بدلاً من sudo.

sudo adduser admin1
sudo usermod -aG sudo admin1
sudo install -d -m 700 -o admin1 -g admin1 /home/admin1/.ssh
sudo install -m 600 -o admin1 -g admin1 ~/admin1.pub /home/admin1/.ssh/authorized_keys

الاختبار من نافذة ثانية

أبقِ جلستك الحالية مفتوحة واختبر تسجيل الدخول الجديد من طرفية أخرى. عضوية مجموعة لا تثبت وحدها أن sudo يعمل، لأن القواعد في sudoers هي التي تحدد ذلك. تأكد باستخدام sudo -l.

ssh -o IdentitiesOnly=yes -i ~/.ssh/id_ed25519 admin1@server.example
sudo -l
sudo -v

تقييد تسجيل دخول root

يسمح PermitRootLogin prohibit-password بدخول root باستخدام مفتاح فقط، أما no فيمنع وصول root عبر SSH تماماً. ضع التغيير في ملف مستقل ضمن /etc/ssh/sshd_config.d. يستخدم sshd أول قيمة يعثر عليها لمعظم الخيارات، لذلك قد تكون الأولوية لملف يُقرأ مبكراً. لهذا تحقّق من القيمة الفعلية باستخدام sshd -T بدلاً من الاكتفاء بقراءة الملفات. اختبر تسجيل دخول جديداً قبل إغلاق الجلسة القديمة.

echo 'PermitRootLogin no' | sudo tee /etc/ssh/sshd_config.d/50-root.conf
sudo sshd -t
sudo systemctl reload ssh
sudo sshd -T | grep -iE '^(permitrootlogin|passwordauthentication) '

الدخول بكلمة مرور وما ينبغي تجنّبه

لا تعطّل PasswordAuthentication إلا بعد أن يصبح لكل حساب تحتاجه مفتاح اختبرته. تجنّب مشاركة حساب واحد بين عدة أشخاص، لأنك لن تستطيع سحب وصول شخص دون التأثير على الآخرين. كما أن إتاحة sudo دون كلمة مرور للحساب بأكمله تعني أن سرقة المفتاح وحده تمنح السيطرة الكاملة.

الحسابات في CH-J Server Manager

تدير وحدة Users الحسابات والمجموعات ومفاتيح SSH والوصول عبر SSH من خلال جلسة SSH نشطة. ولا تغيّر sudoers أبداً أو تضبط NOPASSWD، وتعرض حالة sudo الفعلية اعتماداً على sudo -l. لا يمكن حذف حساب root، ويتطلب السماح بتسجيل دخول root بكلمة مرور تأكيداً إضافياً، مع التوصية باختيار Key only. يُتحقّق من تغيير الوصول عبر SSH باستخدام sshd -T وتسجيل دخول SSH جديد، وتُستعاد الإعدادات السابقة تلقائياً إذا فشل الفحص أو كان التغيير سيمنعك من الدخول. دون sudo، تكون الوحدة للقراءة فقط.

وثائق مفصلة

OpenSSH: sshd_config ←

man: sudoers ←

الفتح بالقياسات الحيوية والأمان ←