Cryptology Academy · درس

المصادقة بالمفتاح العام وتمرير SSH Agent

تعرّفوا إلى authorized_keys، وقارنوا بين مفاتيح Ed25519 وRSA، وافهموا الآثار الأمنية لتمرير SSH agent.

الدرس 2 من 413 خطوة

المصادقة بالمفتاح العام وتمرير SSH Agent درس مجاني في Cryptology Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cryptology Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cryptology Academy 4 دروس في المجموع.

تنسيق ملف authorized_keys

تعتمد مصادقة SSH بالمفتاح العام على ملف authorized_keys، الموجود عادةً في ~/.ssh/authorized_keys على الخادم. يحتوي كل سطر على مفتاح عام بالصيغة: algorithm base64-key comment. ويتحقق الخادم من قدرة العميل على إثبات امتلاكه للمفتاح الخاص المطابق من خلال توقيع تحدٍّ.

إنشاء مفاتيح SSH باستخدام ssh-keygen

ينشئ الأمر ssh-keygen أزواج مفاتيح للمصادقة. ويؤدي تشغيل ssh-keygen -t ed25519 إلى إنشاء زوج مفاتيح حديث من نوع Ed25519. ويمكنك تحديد تعليق باستخدام -C للتعريف بالمفتاح، مثل بريدك الإلكتروني. وتحفظ الأداة المفتاح الخاص (id_ed25519) والمفتاح العام (id_ed25519.pub) في ~/.ssh افتراضيًا.

مقارنة أنواع المفاتيح: RSA وECDSA وEd25519

تتوافق مفاتيح RSA ذات 4096 بت بدرجة كبيرة مع الأنظمة القديمة، لكنها أبطأ في التوقيع. أما ECDSA باستخدام NIST P-256 فهو أسرع وينتج توقيعات أصغر، لكن بعض علماء التشفير يشككون في اختيار معلمات منحنيات NIST. ويُعد Ed25519 المستند إلى Curve25519 أفضل ممارسة حاليًا: مفاتيح وتوقيعات سريعة وصغيرة، ومن دون نقاط ضعف معروفة، ومتوفر في جميع تطبيقات SSH الحديثة.

المفاتيح الخاصة المحمية بعبارة مرور

ينبغي حماية ملف المفتاح الخاص بعبارة مرور. يشفّر ssh-keygen المفتاح الخاص باستخدام مفتاح مشتق من عبارة المرور (bcrypt للمفاتيح الحديثة)، ولذلك لا يستطيع المهاجم الذي يسرق الملف استخدامه من دون عبارة المرور. ومن دون عبارة مرور، يستطيع أي شخص لديه صلاحية الوصول إلى الملف المصادقة باسمك على أي خادم يحتفظ بالمفتاح العام المطابق.

ssh-agent لإدارة المفاتيح

يحتفظ البرنامج الخدمي ssh-agent بالمفاتيح الخاصة المفكوكة التشفير في الذاكرة أثناء جلسة تسجيل الدخول. وتحمل مفتاحًا باستخدام ssh-add ~/.ssh/id_ed25519، فيطلب منك عبارة المرور مرة واحدة. وبعد ذلك، تطلب اتصالات SSH اللاحقة من الوكيل توقيع التحديات من دون إعادة إدخال عبارة المرور، مما يجمع بين الأمان والسهولة.

كيف يوقّع ssh-agent التحديات

عندما يرسل خادم SSH تحديًا للمصادقة، يفوّض عميل SSH عملية التوقيع إلى ssh-agent عبر مقبس Unix. ينفذ الوكيل التوقيع التشفيري باستخدام المفتاح الخاص المخزَّن في الذاكرة، ثم يعيد التوقيع فقط. ولا تغادر بايتات المفتاح الخاص عملية الوكيل، ولا حتى إلى عميل SSH نفسه.

إعادة توجيه الوكيل: الإمكانات والمخاطر

تتيح إعادة توجيه الوكيل (ForwardAgent yes أو ssh -A) لجلسة SSH بعيدة استخدام وكيلك المحلي للمصادقة على خوادم لاحقة. ويفيد ذلك في المرور عبر الخوادم الوسيطة من دون نسخ المفاتيح الخاصة إليها. ولكن إذا اختُرق الخادم الوسيط، يستطيع مستخدم root فيه الوصول إلى مقبس الوكيل والمصادقة باسمك على أي خادم.

ProxyJump مقابل ForwardAgent للخوادم الوسيطة

يُعد ProxyJump (ssh -J bastion target) البديل الأكثر أمانًا عن ForwardAgent للوصول عبر الخادم الوسيط. فهو ينشئ نفق TCP عبر الخادم الوسيط من دون كشف مقبس وكيلك هناك. ويتلقى الخادم الهدف اتصالًا مباشرًا من عميلك المحلي، بينما لا يمرر الخادم الوسيط سوى بايتات TCP المشفّرة، من دون أي قدرة على استخدام بيانات اعتمادك.

مصادقة الشهادات في SSH

يدعم SSH المصادقة المستندة إلى الشهادات، حيث توقّع سلطة شهادات (CA) مفاتيح المضيفين والمستخدمين العامة. وبدلًا من توزيع المفاتيح العامة الفردية على كل خادم، تهيّئ الخوادم لتثق بسلطة الشهادات الخاصة بك. وتمنح شهادة مستخدم موقعة صلاحية الوصول إلى جميع الخوادم التي تثق بسلطة الشهادات تلك، مع إمكانية تضمين تاريخ انتهاء الصلاحية وقيود principal في الشهادة.

ssh-keyscan لجمع المفاتيح على نطاق واسع

تتصل أداة ssh-keyscan بمضيف واحد أو أكثر وتسترد مفاتيح المضيف العامة من دون مصادقة. ويفيد ذلك في أتمتة ملء ملفات known_hosts ضمن نصوص النشر. ويمكن توجيه الناتج مباشرةً إلى ملف known_hosts: ssh-keyscan -H example.com >> ~/.ssh/known_hosts.

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

مصادقة المفتاح العام: يرسل العميل المفتاح العام، ويفحص الخادم ملف authorized_keys، ثم يرسل الخادم تحديًا موقّعًا باستخدام معرّف الجلسة، ويوقّعه العميل (عبر الوكيل) باستخدام المفتاح الخاص، ويتحقق الخادم من التوقيع باستخدام المفتاح العام المخزَّن. وإذا كان التوقيع صالحًا، تنجح المصادقة من دون نقل أي بيانات اعتماد سرية.

اختيار نوع مفتاح SSH

ما نوع مفتاح SSH الذي يُعد أفضل ممارسة حاليًا لعمليات النشر الجديدة بفضل سرعته وصغر حجم مفتاحه وخصائصه الأمنية القوية؟

مراجعة مصادقة المفتاح العام

أهم النقاط: خزّن المفاتيح العامة في authorized_keys، واحمِ المفاتيح الخاصة بعبارات مرور، واستخدم ssh-agent للاحتفاظ بالمفاتيح المفكوكة التشفير في الذاكرة، وفضّل نوع المفتاح Ed25519، واستخدم ProxyJump بدلًا من ForwardAgent للوصول عبر الخادم الوسيط لتجنب كشف مقبس الوكيل، وفكّر في استخدام شهادات SSH لإدارة الوصول على نطاق واسع.

البدء مجانًا

تعلم Cryptology Academy مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
67
الدروس
261

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

هل درس «المصادقة بالمفتاح العام وتمرير SSH Agent» مجاني؟

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

ماذا ستتعلم في «المصادقة بالمفتاح العام وتمرير SSH Agent»؟

تعرّفوا إلى authorized_keys، وقارنوا بين مفاتيح Ed25519 وRSA، وافهموا الآثار الأمنية لتمرير SSH agent. تتمرن على Cryptology Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Cryptology Academy؟

لا تُشترط خبرة سابقة. Cryptology Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

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

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

هل يمكنني كتابة وتشغيل أكواد في درس Cryptology Academy هذا؟

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

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

  1. مصافحة SSH والمصادقة بمفتاح المضيف
  2. المصادقة بالمفتاح العام وتمرير SSH Agent
  3. تقنيات أنفاق SSH وإعادة توجيه المنافذ
  4. تقوية SSH وأفضل ممارسات التدقيق
← العودة إلى Cryptology Academy