ما هو مفتاح SSH العام؟

مفتاح SSH العام هو نصف زوج مفاتيح تشفير يُستخدم للمصادقة الآمنة عبر بروتوكول SSH (Secure Shell). عند إنشاء زوج مفاتيح SSH، تحصل على مفتاح خاص (يُحفظ سرياً على جهازك) ومفتاح عام (يُشارك مع الخوادم التي تريد الوصول إليها). يستخدم الخادم مفتاحك العام للتحقق من هويتك دون إرسال كلمة مرور.

يُخزَّن مفتاح SSH العام كسطر نصي واحد بتنسيق OpenSSH، ويحتوي على ثلاثة أجزاء: نوع المفتاح (مثل ssh-rsa أو ssh-ed25519)، وبيانات المفتاح المشفرة بـ Base64، وتعليق اختياري (عادةً user@hostname). يتضمن البيانات المشفرة بـ Base64 معلومات ثنائية منظمة تشمل معاملات الخوارزمية والمادة التشفيرية الفعلية.

البصمات هي تجزئات قصيرة مقروءة للبشر لبيانات المفتاح. تُسهّل التحقق من المفاتيح ومقارنتها دون الحاجة إلى قراءة سلسلة Base64 الكاملة. أكثر تنسيقَي البصمات شيوعاً هما SHA-256 (الإعداد الافتراضي الحديث) وMD5 (التنسيق القديم بأزواج سداسية عشرية مفصولة بنقطتين).

وصف الأداة

تقوم هذه الأداة بتحليل مفاتيح SSH العامة بتنسيق OpenSSH واستخراج جميع البيانات الوصفية المهمة. الصق مفتاحك العام وشاهد فوراً نوع المفتاح والخوارزمية وحجم المفتاح بالبت والتعليق وبصمتَي SHA-256 وMD5 — مطابقةً للمخرجات التي ستحصل عليها من ssh-keygen -l.

أمثلة

المدخلات:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl user@laptop

المخرجات:

الحقل القيمة
نوع المفتاح ssh-ed25519
الخوارزمية Ed25519
حجم المفتاح 256 بت
التعليق user@laptop
بصمة SHA-256 SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8
بصمة MD5 MD5:16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48

المميزات

  • يدعم أنواع مفاتيح RSA وEd25519 وECDSA (P-256 وP-384 وP-521) وDSA ومفاتيح Security Key (FIDO)
  • يحسب بصمتَي SHA-256 وMD5 بتنسيق OpenSSH القياسي
  • يستخرج حجم المفتاح بالبت مباشرةً من بيانات المفتاح الثنائية
  • يتحقق من بنية المفتاح بما في ذلك سلامة Base64 واتساق النوع المضمّن
  • يحلل حقل التعليق الاختياري من سطر المفتاح العام

آلية العمل

تقوم الأداة بتقسيم المدخلات إلى ثلاثة أجزاء: نوع المفتاح وبيانات Base64 والتعليق. ثم تفك تشفير بيانات Base64 إلى صيغة ثنائية وتقرأ البنية الداخلية باستخدام تنسيق SSH ذي البادئة الطولية، حيث يبدأ كل حقل بطول 4 بايت بترتيب big-endian يليه بيانات الحقل. يُحدَّد حجم المفتاح من المعاملات الخاصة بالخوارزمية — بالنسبة لـ RSA يكون طول البت للمعامل n، وبالنسبة لـ DSA يكون العدد الأولي p، وبالنسبة لمفاتيح المنحنى الإهليلجي يُشتق من اسم المنحنى. تُحسب البصمات عن طريق تجزئة بيانات المفتاح الثنائية الخام باستخدام SHA-256 وMD5.

أنواع المفاتيح المدعومة

معرّف النوع الخوارزمية
ssh-rsa RSA
ssh-ed25519 Ed25519
ecdsa-sha2-nistp256 ECDSA (P-256)
ecdsa-sha2-nistp384 ECDSA (P-384)
ecdsa-sha2-nistp521 ECDSA (P-521)
ssh-dss DSA
sk-ssh-ed25519@openssh.com Ed25519-SK (Security Key)
sk-ecdsa-sha2-nistp256@openssh.com ECDSA-SK (Security Key)

حالات الاستخدام

  • التحقق من بصمات المفاتيح — تأكيد أن المفتاح العام يطابق البصمة المتوقعة قبل إضافته إلى authorized_keys أو خدمة استضافة Git
  • مراجعة صلاحيات الوصول إلى الخادم — التعرف بسرعة على الخوارزمية وحجم المفاتيح في ملف authorized_keys للكشف عن المفاتيح الضعيفة أو القديمة
  • تشخيص مشكلات SSH — التحقق من أن المفتاح بالتنسيق الصحيح ويستخدم الخوارزمية المتوقعة وله بنية صالحة

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

أين أجد مفتاح SSH العام الخاص بي؟ على معظم الأنظمة يُخزَّن في ~/.ssh/id_ed25519.pub أو ~/.ssh/id_rsa.pub أو مسار مشابه يعتمد على الخوارزمية. يمكنك أيضاً تشغيل ssh-add -L لعرض المفاتيح المحمّلة في SSH agent الخاص بك.

هل من الآمن مشاركة مفتاحي العام؟ نعم. المفتاح العام مصمم للمشاركة. لا يمكن استخدامه لاشتقاق المفتاح الخاص أو المصادقة نيابةً عنك.

لماذا تبدو بصمتا SHA-256 وMD5 مختلفتين؟ بصمات SHA-256 مشفرة بـ Base64 وتبدأ بالبادئة SHA256:، بينما تستخدم بصمات MD5 أزواجاً سداسية عشرية مفصولة بنقطتين وتبدأ بالبادئة MD5:. يُعدّ SHA-256 الإعداد الافتراضي في إصدارات OpenSSH الحديثة.