مولّد مفاتيح SSH

المفتاح العام (صيغة authorized_keys)
التالي

أنشئ زوج مفاتيح SSH من نوع RSA مباشرة في متصفحك. اختر حجم المفتاح (2048 أو 3072 أو 4096 بت) وتعليقًا اختياريًا؛ تكتب الأداة المفتاح الخاص ومفتاحًا عامًا جاهزًا للصقه في ~/.ssh/authorized_keys. كل شيء يعمل داخل متصفحك، لذا لا يغادر أي من المفتاحين جهازك. للحصول على مفتاح Ed25519 حديث، أو لحماية المفتاح بعبارة مرور، شغّل ssh-keygen على جهازك الخاص.

كيفية إنشاء زوج مفاتيح

  1. 1

    اختر حجم المفتاح

    RSA بحجم 3072 بت هو الخيار الافتراضي الموصى به: قوي ومتوافق في كل مكان. الحجم 2048 بت أسرع ولا يزال مقبولًا على نطاق واسع؛ والحجم 4096 بت هو الأكثر تحفّظًا لكنه أبطأ.

  2. 2

    أضف تعليقًا

    عادةً `user@host` أو وصف قصير. يُلحَق بالمفتاح العام ليساعدك على تمييزه في ملفات `authorized_keys`.

  3. 3

    أنشئ زوج المفاتيح

    تُنشأ المفاتيح في متصفحك ولا تُرفَع أبدًا. تستغرق أحجام المفاتيح الأكبر وقتًا أطول قليلًا في الحساب.

  4. 4

    انسخ أو نزّل

    المفتاح الخاص بصيغة PEM (`-----BEGIN RSA PRIVATE KEY-----`) والمفتاح العام في سطر واحد (`ssh-rsa AAAA...`). احتفظ بالمفتاح الخاص سرًّا.

اختيار حجم المفتاح

حجم المفتاح السرعة الأمان استخدمه عندما
RSA 2048 سريع كافٍ (يعادل 112 بت) تريد أسرع عملية إنشاء
RSA 3072 متوسط قوي (يعادل 128 بت) الخيار الافتراضي الموصى به لمعظم الاستخدامات
RSA 4096 أبطأ قوي جدًا، ومبالغ فيه في أغلب الحالات تريد مفتاحًا متحفظًا وطويل العمر

تنشئ هذه الأداة مفاتيح RSA التي يقبلها كل خادم SSH. يعادل RSA 3072 بالفعل قوة تناظرية قدرها 128 بت، وهو أكثر من كافٍ للاستخدام اليومي؛ أما 4096 فهو أكبر وأبطأ في الإنشاء دون أن يكون أكثر أمانًا بشكل ملحوظ.

هل تفضّل مفتاح Ed25519 حديثًا؟ إنه أقصر وأسرع من RSA، لكنه لا يُنشأ هنا. أنشئ واحدًا على جهازك الخاص باستخدام ssh-keygen -t ed25519.

ماذا ستحصل عليه

تنتج الأداة كتلتين من النص، كلتاهما مولّدتان في متصفحك:

  • المفتاح الخاص بصيغة PEM، يبدأ بـ -----BEGIN RSA PRIVATE KEY-----. احتفظ به سرًّا ولا تشاركه أبدًا. يُنشأ دون عبارة مرور؛ ولتشفيره، أضف عبارة مرور محليًا باستخدام ssh-keygen -p -f id_rsa.
  • المفتاح العام في سطر واحد، بصيغة authorized_keys الخاصة بـ OpenSSH:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQAB... user@laptop

الحقول الثلاثة هي اسم الخوارزمية (ssh-rsa)، ومادة المفتاح المُرمَّزة بـ Base64، وتعليقك الاختياري.

نصائح لإدارة المفاتيح

  • أبقِ المفتاح الخاص خاصًّا. المفتاح الخاص بنص واضح يعني انتهاء الأمر إذا سُرق. خزّنه بأذونات صارمة وأضف عبارة مرور لأي شيء مهم.
  • مفتاح لكل غرض. استخدم مفتاحًا واحدًا لكل خدمة (GitHub، GitLab، الإنتاج، التجهيز) حتى يكون نطاق ضرر أي تسريب واحد محدودًا.
  • بدّل المفاتيح عند المغادرة. عندما يغادر شخص ما، أزل مفتاحه العام من كل ملف authorized_keys.
  • لا ترسل المفتاح الخاص أبدًا. شارك المفتاح العام فقط. احفظ هذا جيدًا.
  • احتفظ بنسخ احتياطية مشفّرة. فقدان النسخة الوحيدة من مفتاح قد يمنعك من الدخول إلى كل خادم يثق به.

أين يوضَع المفتاح العام

  • Linux/Unix: الملف ~/.ssh/authorized_keys على الخادم، مفتاح واحد لكل سطر، بأذونات 0600 للملف و0700 للمجلد.
  • GitHub/GitLab/Bitbucket: إعدادات الحساب، قسم مفاتيح SSH.
  • AWS EC2: زوج مفاتيح مستورَد، مرتبط بمثيل عند التشغيل.
  • Azure/GCP: إعدادات SSH للمشروع أو المثيل.

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

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

لا. تنشئ هذه الأداة مفاتيح RSA فقط. للحصول على مفتاح Ed25519 حديث، شغّل ssh-keygen -t ed25519 على جهازك الخاص؛ فهو أقصر وأسرع من RSA وتدعمه كل خوادم SSH الحالية.

ليس فعلًا. يعادل RSA 3072 بالفعل قوة تناظرية قدرها 128 بت، وهو أكثر من كافٍ. أما 4096 فهو أبطأ وأكبر دون أن يكون أكثر أمانًا بشكل ملحوظ، لذا يبقى 3072 هو الخيار الافتراضي الموصى به.

استخدم ssh-copy-id user@host إذا كنت لا تزال تستطيع تسجيل الدخول بكلمة مرور. وإلا، أضف المفتاح العام يدويًا إلى ~/.ssh/authorized_keys على الخادم عبر لوحة تحكم مزوّد السحابة أو أي وسيلة وصول أخرى.

أدوات ذات صلة

الأداة متاحة بلغات أخرى