−25%

على الدفع السنوي لـ Windows حتى 31 أكتوبر. عرض الخطط

EQVPS

كيف تنشئ مستخدم sudo على VPS وتتوقف عن استخدام root

أنشئ مستخدم sudo بلا صلاحيات root على Ubuntu أو Debian، وأعطه مفتاح SSH الخاص بك، واختبره، ثم أوقف دخول root — بترتيب لا يُغلق الباب في وجهك.

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

إليك التسلسل الآمن لـUbuntu 22.04/24.04 وDebian 12.

1. أنشئ المستخدم

بصفة root:

adduser deploy
usermod -aG sudo deploy

يطلب adduser كلمة مرور وبعض البيانات الاختيارية (اضغط Enter لتجاوزها). اختر كلمة مرور حقيقية: ستكتبها مع sudo. على صورة Debian مصغّرة، نفّذ أولًا apt install -y sudo إن كان الأمر غير موجود.

2. أعطه مفتاح SSH الخاص بك

الطريقة الأسهل هي نسخ المفاتيح المصرّح بها لـroot مع الحفاظ على الملكية الصحيحة:

rsync --archive --chown=deploy:deploy /root/.ssh /home/deploy

وإن فضّلت فعلها يدويًا:

mkdir -p /home/deploy/.ssh
cp /root/.ssh/authorized_keys /home/deploy/.ssh/
chown -R deploy:deploy /home/deploy/.ssh
chmod 700 /home/deploy/.ssh
chmod 600 /home/deploy/.ssh/authorized_keys

الصلاحيات الخاطئة هي السبب الكلاسيكي لفشل الدخول بالمفتاح بصمت. يتجاهل SSH ملف authorized_keys الذي يستطيع مستخدمون آخرون الكتابة فيه.

3. اختبر قبل أن تغيّر أي شيء

أبقِ جلسة root مفتوحة. في طرفية جديدة:

ssh -p 22 deploy@203.0.113.10
sudo whoami

استخدم عنوانك ومنفذك — في خطة NAT هو منفذ SSH الشخصي من لوحة التحكم. إذا طبع sudo whoami الكلمة root فكل شيء على ما يرام. وإن فشل الدخول، فما زالت نافذة root بين يديك لإصلاح الأمر.

4. أوقف دخول root

الآن أغلق الباب. أنشئ ملف drop-in صغيرًا بدل تعديل الإعداد الرئيسي:

cat > /etc/ssh/sshd_config.d/10-hardening.conf <<'EOF'
PermitRootLogin no
PasswordAuthentication no
EOF
sshd -t && systemctl reload ssh

sshd -t يفحص الصياغة أولًا. إعداد معطوب مع reload هو ما يوصل الناس إلى الحاجة إلى وحدة التحكم. وPasswordAuthentication no لا معنى له إلا بعد أن يعمل الدخول بالمفتاح لمستخدمك الجديد — وهذا ما اختبرته للتو.

افتح طرفية أخرى وتأكد أن root يُرفض وأن deploy ما زال يدخل. ثم أغلق جلسة root القديمة.

5. اختياري: sudo دون كلمة مرور للأتمتة

إن احتاج سكربت نشر إلى sudo دون سؤال، فامنحه هذا بالضبط ولا شيء أوسع:

visudo -f /etc/sudoers.d/deploy
deploy ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart myapp

بصراحة، NOPASSWD: ALL مغرٍ، لكنه يعني أن مفتاحًا مسروقًا يساوي root. قيّده بالأوامر التي تشغّلها الأتمتة.

إن حدث خطأ ما

وحدة التحكم عبر الويب في اللوحة لا تعتمد على SSH ولا على الجدار الناري. ادخل منها، وأصلح الملف في /etc/ssh/sshd_config.d/، ونفّذ reload، وانتهى الأمر. شرحنا خطوات الاسترداد كاملة في كيف تعود إلى VPS أُغلق عليك.

ماذا بعد

خيارات الوصول لكل خطة موجودة في توثيق الوصول. حتى خطة Nano بـ$3 تستحق مستخدمًا بلا root — إنها أرخص ترقية أمنية على الإطلاق.

الأسئلة الشائعة

لماذا لا أستمر ببساطة في استخدام root؟

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

ماذا لو أغلقت الباب على نفسي؟

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

هل أسمح بـsudo دون كلمة مرور؟

لحساب شخصي، أبقِ طلب كلمة المرور — فهو خط الدفاع الأخير إن تسرّب مفتاح SSH. أما sudo دون كلمة مرور فمعقول لمستخدم نشر مخصص تستخدمه الأتمتة، مقيّد بالأوامر التي يحتاجها فعلًا.

أمر sudo غير موجود على خادم Debian لدي. لماذا؟

صور Debian المصغّرة لا تتضمنه دائمًا. ثبّته بصفة root عبر 'apt install -y sudo'، ثم أضف مستخدمك إلى مجموعة sudo.

أي منفذ SSH أستخدم؟

المنفذ الظاهر في لوحة التحكم. الخطط ذات الـIP المخصص تستخدم المنفذ 22 على عنوانك؛ وخطط NAT تستخدم منفذ SSH الشخصي الخاص بك.

التعليقات

لا تعليقات بعد. كن الأول.

اترك تعليقًا

تُراجَع التعليقات قبل ظهورها.