باستخدام مفتاح SSH تدخل دون كتابة كلمة مرور، وإذا عطّلت كلمات المرور أيضًا، فلن تجد البوتات التي تجرّب التركيبات على خادمك أي شيء لتخمّنه.
1. أنشئ مفتاحك (على حاسوبك)
يأتي SSH مدمجًا في Windows 10/11 وMac وLinux. افتح الطرفية (في Windows، افتح PowerShell) واكتب:
ssh-keygen -t ed25519
اضغط Enter لحفظه في المكان الافتراضي، ويمكنك إن أردت تعيين عبارة مرور له. سيُنشأ ملفان في مجلد .ssh الخاص بمستخدمك: id_ed25519 (المفتاح الخاص: لا تشاركه أبدًا) وid_ed25519.pub (المفتاح العام).
2. ارفعه إلى الخادم
من Mac أو Linux:
ssh-copy-id root@203.0.113.10
من Windows (PowerShell):
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@203.0.113.10 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"
سيطلب منك كلمة المرور مرة أخيرة.
3. جرّبه
ssh root@203.0.113.10
إذا دخلت دون أن يطلب منك كلمة مرور الخادم، فالمفتاح يعمل. لا تنتقل إلى الخطوة 4 إذا لم ينجح ذلك.
4. عطّل كلمات المرور في SSH
مع إبقاء الجلسة السابقة مفتوحة (احتياطًا)، نفّذ على الخادم:
echo "PasswordAuthentication no" > /etc/ssh/sshd_config.d/00-keys-only.conf
sshd -t && systemctl restart ssh
في Rocky Linux 8، غيّر السطر PasswordAuthentication إلى no مباشرةً في /etc/ssh/sshd_config، واسم الخدمة هناك sshd: systemctl restart sshd.
يبدأ اسم الملف بـ 00- عن قصد: ففي SSH تُعتمد أول قيمة تُقرأ، وبعض صور أنظمة التشغيل تأتي بملف آخر يعيد تفعيل كلمات المرور.
افتح طرفية أخرى وتأكّد من أنك ما زلت تدخل بالمفتاح قبل أن تغلق الأولى.
إذا فقدت المفتاح
لا تعتمد وحدة تحكم VNC في لوحة التحكم على SSH، لذلك تظل كلمة المرور تعمل هناك. وإذا لم تكن تتذكرها، فأنشئ كلمة جديدة من الإعدادات ← طلب إعادة تعيين كلمة المرور، ثم ادخل عبر VNC وأضف مفتاحك الجديد إلى /root/.ssh/authorized_keys.
لنقل الملفات (WinSCP وFileZilla)، استخدم المفتاح الخاص نفسه: كيفية رفع الملفات.