0Pricing
Linux Server Deployment & SSH Mastery · درس

المصادقة المستندة إلى مفاتيح SSH

أنشئ أزواج مفاتيح SSH، وانشر المفاتيح العامة على الخوادم، وعطّل المصادقة بكلمة المرور لتعزيز الأمان

المصادقة المستندة إلى مفاتيح SSH درس مجاني في Linux Server Deployment & SSH Mastery على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Linux Server Deployment & SSH Mastery، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Linux Server Deployment & SSH Mastery 4 دروس في المجموع.

فتح إمكانات SSH باستخدام أزواج المفاتيح

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

تعمل مفاتيح SSH كتصافح رقمي يثبت هويتكم من دون الحاجة إلى كتابة كلمة مرور في كل مرة.

سحر المفتاحين العام والخاص

تعتمد المصادقة باستخدام مفاتيح SSH على زوج من المفاتيح المشفّرة:

  • المفتاح الخاص: يبقى هذا المفتاح على جهازكم المحلي ويجب الحفاظ على سريته. فكّروا فيه على أنه المفتاح الفريد لقفلكم الرقمي.
  • المفتاح العام: يوضع هذا المفتاح على الخادم الذي تريدون الوصول إليه. وهو يشبه قفلًا خاصًا لا يمكن فتحه إلا بمفتاحكم الخاص.

عند محاولة الاتصال، يتحدى الخادم عميلكم، ثم يستخدم العميل مفتاحكم الخاص لإثبات هويته.

إنشاء مفاتيح SSH الخاصة بكم

يمكنكم إنشاء زوج مفاتيح SSH خاص بكم باستخدام الأمر ssh-keygen على جهازكم المحلي. وينشئ الأمر افتراضيًا زوج مفاتيح RSA.

عند مطالبتكم بذلك، يمكنكم اختيار عبارة مرور لحماية مفتاحكم الخاص. ويضيف هذا طبقة أمان إضافية، إذ يتطلب إدخال عبارة المرور قبل استخدام المفتاح.

ssh-keygen

تخصيص إنشاء المفاتيح

لتحقيق أمان أقوى، يُنصح باستخدام أنواع مفاتيح أحدث مثل ED25519. ويمكنكم أيضًا تحديد اسم ملف مخصص لمفاتيحكم.

  • -t ed25519: يحدد خوارزمية ED25519.
  • -f ~/.ssh/my_server_key: ينشئ ملفين باسم my_server_key وmy_server_key.pub.

استخدموا دائمًا عبارة مرور قوية لمفتاحكم الخاص!

ssh-keygen -t ed25519 -f ~/.ssh/my_server_key

فهم ملفات المفاتيح

بعد الإنشاء، تُخزّن مفاتيحكم عادةً في الدليل ~/.ssh/ على جهازكم المحلي. وستجدون ملفين:

  • id_ed25519 (أو id_rsa): هذا هو مفتاحكم الخاص. حافظوا عليه بأقصى درجات الأمان ولا تشاركوه مطلقًا.
  • id_ed25519.pub (أو id_rsa.pub): هذا هو مفتاحكم العام. وهذا هو الملف الذي ستنسخونه إلى خادمكم.

تُعد أذونات هذه الملفات مهمة جدًا للأمان أيضًا!

نشر مفتاحكم العام بسهولة

أسهل طريقة لنقل مفتاحكم العام إلى خادم هي استخدام الأمر ssh-copy-id. فهو ينسخ مفتاحكم العام بأمان إلى ملف الخادم ~/.ssh/authorized_keys.

ستحتاجون إلى استخدام كلمة مروركم في المرة الأولى التي تشغّلون فيها هذا الأمر لخادم جديد. وبعد ذلك، لن تعود هناك حاجة غالبًا إلى تسجيل الدخول باستخدام كلمة مرور.

ssh-copy-id user@your_server_ip

نشر المفتاح العام يدويًا

إذا لم يكن ssh-copy-id متاحًا أو كنتم تفضلون الطريقة اليدوية، فيمكنكم نسخ مفتاحكم العام إلى الخادم بأنفسكم.

أولًا، تأكدوا من وجود الدليل ~/.ssh على الخادم ومن امتلاكه الأذونات الصحيحة (700). ثم أضيفوا مفتاحكم العام إلى نهاية ملف ~/.ssh/authorized_keys (بأذونات 600).

cat ~/.ssh/id_ed25519.pub | ssh user@your_server_ip \
"mkdir -p ~/.ssh && chmod 700 ~/.ssh && \
cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

الاتصال باستخدام مفاتيحكم الجديدة

بعد وضع مفتاحكم العام على الخادم، يمكنكم الاتصال باستخدام SSH. إذا استخدمتم اسم المفتاح الافتراضي (مثل id_rsa أو id_ed25519)، فسيعثر عليه SSH تلقائيًا.

أما إذا استخدمتم اسم مفتاح مخصصًا (مثل my_server_key)، فستحتاجون إلى تحديده باستخدام الخيار -i.

ssh -i ~/.ssh/my_server_key user@your_server_ip

تعطيل تسجيل الدخول بكلمة المرور لأغراض الأمان

لتحسين الأمان، يُنصح بشدة بتعطيل المصادقة باستخدام كلمة المرور على خادمكم بعد التأكد من عمل تسجيل الدخول المعتمد على المفاتيح.

حرّروا ملف إعدادات عفريت SSH (/etc/ssh/sshd_config) على الخادم، وغيّروا PasswordAuthentication yes إلى no، ثم أعيدوا تشغيل خدمة SSH (مثل sudo systemctl restart sshd أو sudo service ssh restart).

# On the server, edit /etc/ssh/sshd_config
PasswordAuthentication no
# Then restart SSH service
sudo systemctl restart sshd

التحقق من مصادقة المفتاح

لقد تعلمتم كيفية عمل المصادقة المعتمدة على مفاتيح SSH، وكيفية إنشاء المفاتيح ونشرها. فلنختبر معلوماتكم!

مراجعة: تأمين SSH باستخدام المفاتيح

أحسنتم! لقد أتقنتم المصادقة المعتمدة على مفاتيح SSH. لقد تعلمتم ما يلي:

  • الفرق بين المفاتيح العامة والخاصة.
  • كيفية إنشاء أزواج المفاتيح باستخدام ssh-keygen.
  • كيفية نشر مفتاحكم العام إلى خادم باستخدام ssh-copy-id أو يدويًا.
  • كيفية الاتصال بأمان من دون كلمات مرور.
  • سبب وطريقة تعطيل المصادقة باستخدام كلمة المرور على خادمكم.

تُعد مفاتيح SSH أداة أساسية لإدارة الخوادم بأمان وكفاءة. واصلوا التدرّب!

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

هل درس «المصادقة المستندة إلى مفاتيح SSH» مجاني؟

نعم — نص درس «المصادقة المستندة إلى مفاتيح SSH» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Linux Server Deployment & SSH Mastery، انتقل إلى CoddyKit PRO. تتضمن دورة Linux Server Deployment & SSH Mastery 4 دروس في المجموع.

ماذا ستتعلم في «المصادقة المستندة إلى مفاتيح SSH»؟

أنشئ أزواج مفاتيح SSH، وانشر المفاتيح العامة على الخوادم، وعطّل المصادقة بكلمة المرور لتعزيز الأمان تتمرن على Linux Server Deployment & SSH Mastery مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Linux Server Deployment & SSH Mastery؟

لا تُشترط خبرة سابقة. Linux Server Deployment & SSH Mastery على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «المصادقة المستندة إلى مفاتيح SSH»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Linux Server Deployment & SSH Mastery هذا؟

نعم. كل درس في Linux Server Deployment & SSH Mastery يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. فهم بروتوكول SSH
  2. تهيئة عميل SSH
  3. المصادقة المستندة إلى مفاتيح SSH
  4. تحصين خادم SSH
← العودة إلى Linux Server Deployment & SSH Mastery