كلمات مرور SSH يمكن تخمينها. أما المفاتيح فلا. التحويل إلى تسجيل الدخول بالمفاتيح هو أكبر ترقية أمنية منفردة يمكنك إجراؤها لخادمك، ويستغرق نحو خمس دقائق.
كيف تعمل مفاتيح SSH
تنشئ زوجًا من الملفات. يبقى المفتاح الخاص على حاسوبك ولا يُشارك أبدًا. أما المفتاح العام فيوضع على الخادم. عند الاتصال، يطلب الخادم من حاسوبك إثبات أنه يملك المفتاح الخاص المطابق، دون أن يعبر المفتاح نفسه الشبكة أبدًا.
1. إنشاء زوج مفاتيح
ssh-keygen -t ed25519 -C "me@laptop"
مفاتيح Ed25519 قصيرة وسريعة وحديثة. اختر عبارة مرور عند الطلب، حتى لا يعني سرقة حاسوبك المحمول سرقة خادمك. في Windows 10 و11 يعمل الأمر نفسه في PowerShell.
2. نسخ المفتاح العام إلى الخادم
ssh-copy-id user@your.server.ip
بدون ssh-copy-id، أضف محتويات ~/.ssh/id_ed25519.pub إلى ~/.ssh/authorized_keys على الخادم، ثم نفّذ chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys.
3. اختبر قبل إيقاف كلمات المرور
افتح محطة طرفية ثانية وسجّل الدخول بالمفتاح. أبقِ جلستك الأولى مفتوحة حتى ينجح ذلك، حتى لا يؤدي خطأ ما إلى حظر وصولك.
4. تعطيل الدخول بكلمة المرور
sudo nano /etc/ssh/sshd_config.d/99-hardening.conf
PasswordAuthentication no
PermitRootLogin prohibit-password
PubkeyAuthentication yes
sudo sshd -t && sudo systemctl reload ssh
يكتشف الفحص sshd -t الأخطاء المطبعية قبل أن تعطّل وصولك. في بعض الأنظمة تسمى الخدمة sshd بدلًا من ssh.
5. إعداد عميل مرتب
# ~/.ssh/config
Host myvps
HostName your.server.ip
User deploy
IdentityFile ~/.ssh/id_ed25519
الآن كل ما تكتبه هو ssh myvps.
ممارسات جيدة
- استخدم مفتاحًا منفصلًا لكل جهاز، لتتمكن من إبطال واحد دون المساس بالبقية.
- استخدم
ssh-agentلتدخل عبارة المرور مرة واحدة في كل جلسة. - أزل المفاتيح من
authorized_keysعند فقدان جهاز أو مغادرة موظف. - أضف fail2ban لتقليل ضجيج السجلات، كما في قائمة التحصين خلال 15 دقيقة لدينا.