كيفية تأمين SSH على خادم VPS يعمل بنظام لينكس

بقلم فريق هندسة ONIE · آخر تحديث: 12 نوفمبر 2026 · 2 دقيقة للقراءة

يتلقى خادم VPS العام محاولات تسجيل دخول آلية خلال دقائق من تشغيله. تجعل هذه الخطوات SSH أصعب بكثير على المهاجمين. وقد كُتبت للعمل على Ubuntu أو Debian؛ وإذا لم تكن قد أنشأت الخادم بعد، يمكنك استئجار خادم VPS يعمل بنظام لينكس والبدء من صورة نظام نظيفة. أبقِ جلسة SSH الحالية مفتوحة حتى تختبر الإعدادات الجديدة من نافذة ثانية.

1. إنشاء مستخدم عادي مع صلاحيات sudo

adduser deploy
usermod -aG sudo deploy

2. استخدام مفاتيح SSH بدلاً من كلمات المرور

على حاسوبك الشخصي:

ssh-keygen -t ed25519 -C "you@example.com"
ssh-copy-id deploy@YOUR_SERVER_IP
ssh deploy@YOUR_SERVER_IP

سجّل الدخول مرة واحدة باستخدام المفتاح للتأكد من عمله قبل إيقاف كلمات المرور.

3. تعطيل كلمات المرور وتسجيل دخول root

أنشئ الملف /etc/ssh/sshd_config.d/99-hardening.conf:

PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3

تحقّق من صحة الصيغة ثم أعد تحميل الخدمة. اسم الخدمة ssh على Ubuntu وDebian، وهو sshd على الأنظمة المبنية على RHEL:

sudo sshd -t && sudo systemctl reload ssh

افتح طرفية ثانية وسجّل الدخول مجدداً. بعد ذلك فقط أغلق الجلسة القديمة.

4. تفعيل الجدار الناري

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verbose

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

5. حظر المحاولات المتكررة الفاشلة باستخدام Fail2ban

sudo apt install -y fail2ban

أنشئ الملف /etc/fail2ban/jail.local:

[sshd]
enabled = true
maxretry = 5
findtime = 10m
bantime = 1h
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

6. تثبيت التحديثات الأمنية تلقائياً

sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades

7. إضافات اختيارية

  • تغيير منفذ SSH يقلل ضوضاء السجلات لكنه ليس إجراءً أمنياً بحد ذاته.
  • احمِ المفتاح الخاص بعبارة مرور واحتفظ بنسخة احتياطية منه في مكان آمن.
  • راجع عمليات تسجيل الدخول باستخدام last وsudo journalctl -u ssh --since today.
  • التقط لقطة (snapshot) بعد اكتمال إعداد الخادم، حتى تتمكن من استعادة نقطة أساس نظيفة.

إذا فقدت الوصول، استخدم وحدة التحكم في المتصفح من لوحة التحكم السحابية لتسجيل الدخول وإصلاح الإعدادات. يغطي دليل الحماية من DDoS الطبقة التالية من الدفاع.

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

هل من الآمن تعطيل تسجيل دخول root؟

نعم، بشرط أن تنشئ أولاً مستخدم sudo وتختبر أن مفتاحه يعمل. ما زال بإمكانك تنفيذ أوامر الإدارة باستخدام sudo.

هل أحتاج إلى Fail2ban إذا كنت أستخدم المفاتيح فقط؟

هو اختياري. مع تعطيل تسجيل الدخول بكلمة المرور لا يمكن لهجوم القوة الغاشمة أن ينجح، لكن Fail2ban يقلل ضوضاء السجلات والحمل على النظام.

ماذا أفعل إذا فقدت مفتاح SSH؟

استخدم وحدة التحكم في لوحة التحكم السحابية لتسجيل الدخول، ثم أضف مفتاحاً عاماً جديداً إلى الملف ~/.ssh/authorized_keys واحذف القديم.

المصادر ومزيد من القراءة

أدلة VPS أخرى