leech24
.:: عضو الشبكة ::.
ما هي مفاتيح SSH؟
مفاتيح SSH هي وسيلة مصادقة تستخدم في بروتوكول SSH (Secure Shell) للتحقق من هوية المستخدم عند الاتصال بخادم بعيد، بدلاً من استخدام كلمة المرور التقليدية. تعتمد هذه الطريقة على التشفير غير المتماثل (Public-Key Cryptography)، حيث يتم إنشاء زوج من المفاتيح: مفتاح عام ومفتاح خاص.كيف تعمل مفاتيح SSH؟
يمكن تشبيه آلية العمل بـ"القفل والمفتاح":- المفتاح العام (Public Key) يشبه القفل الذي توزعه بحرية على الخوادم التي تريد الوصول إليها.
- المفتاح الخاص (Private Key) هو المفتاح الفعلي الذي يبقى بحوزتك أنت فقط، ولا يشارك مع任何人.
| الخطوة | الوصف |
|---|---|
| 1 | تحاول الاتصال بالخادم: ssh user@server.example.com |
| 2 | يبحث الخادم عن مفتاحك العام في ملف ~/.ssh/authorized_keys |
| 3 | يولد الخادم تحديًا عشوائيًا ويشفّره باستخدام مفتاحك العام |
| 4 | ي فك عميل SSH التحدي باستخدام مفتاحك الخاص |
| 5 | يرسل العميل إثباتًا تشفيريًا إلى الخادم |
| 6 | يتحقق الخادم من الإثبات - تنجح المصادقة |
الفرق بين المفتاح العام والمفتاح الخاص
المفتاح العام (Public Key)
- آمن للمشاركة - لا يمكن استخدامه لانتحال هويتك
- يوضع على الخوادم في ~/.ssh/authorized_keys
- يُرفع إلى GitHub و GitLab والخدمات الأخرى
- عادةً له امتداد .pub (مثل id_ed25519.pub)
المفتاح الخاص (Private Key)
- النصف السري من الزوج
- يجب ألا يغادر جهازك أبدًا ولا يُشارك مع أحد
- لا يُمْنح حتى للمديرين أو موظفي الدعم
- إذا تعرض للاختراق، يستطيع أي شخص انتحال هويتك على كل خادم تم تثبيت مفتاحك العام عليه
لماذا مفاتيح SSH أفضل من كلمات المرور؟
| الميزة | مفاتيح SSH | كلمات المرور |
|---|---|---|
| القوة التشفيرية | قوة تشفيرية لا توفرها حتى أطول كلمات المرور | محدودة بطول وتعقيد الكلمة |
| نقل البيانات | لا يُرسل المفتاح الخاص عبر الشبكة أبدًا | تُرسل كلمة المرور عبر القناة المشفرة |
| الاختراق | لا يملك الخادم المخترق شيئًا مفيدًا لسرقته | يمكن اعتراضها أو تخمينها |
| سهولة الاستخدام | تسجيل دخول بدون كلمة مرور | يجب تذكرها وإدخالها كل مرة |
| الأتمتة | تمكّن عمليات الأتمتة الآمنة على نطاق المؤسسات | صعبة في السيناريوهات الآلية |
كيفية إنشاء واستخدام مفاتيح SSH
1. إنشاء زوج المفاتيح
استخدم الأمر ssh-keygen:bash
ssh-keygen -t ed25519 -C "جهازي-الشخصي"
- -t ed25519: يحدد نوع المفتاح (الخيار الحديث المفضل)
- -C "تعليق": إضافة تعليق لتحديد المفتاح لاحقًا
- Ed25519 هو الخيار العملي للمفاتيح الجديدة؛ استخدم RSA 4096 فقط للتوافق مع أنظمة قديمة
- ~/.ssh/id_ed25519 → المفتاح الخاص (احتفظ به سريًا!)
- ~/.ssh/id_ed25519.pub → المفتاح العام (يمكن مشاركته)
2. إضافة المفتاح العام إلى الخادم
انسخ محتوى المفتاح العام (id_ed25519.pub) وألصقه في ملف ~/.ssh/authorized_keys على الخادم.يمكنك استخدام الأمر التالي لنقله بسهولة:
bash
ssh-copy-id user@server.example.com
3. تعيين عبارة مرور (Passphrase)
عند إنشاء المفتاح، سيُطلب منك تعيين عبارة مرور (passphrase). هذه عبارة مرور إضافية لتشفير المفتاح الخاص على جهازك. حتى لو سُرِق ملف المفتاح الخاص، لن يتمكن أحد من استخدامه دون معرفة عبارة المرور.نصائح أمنية مهمة
- استخدم مفتاحًا واحدًا لكل جهاز - لتسهيل إدارة الإلغاء عند فقدان جهاز
- ضبط أذونات الملفات - يجب أن تكون أذونات ~/.ssh هي 700 وملف authorized_keys هو 600
- عطّل مصادقة كلمة المرور على الخادم بعد إعداد المفاتيح لتعزيز الأمان
- احتفظ بنسخة احتياطية من المفتاح الخاص في مكان آمن
- ألغِ المفتاح فورًا إذا فقدت الجهاز الذي يحتوي عليه