مولّد زوج مفاتيح SSH (Ed25519)

ولّد زوج مفاتيح SSH بصيغة Ed25519 (الموصى بها اليوم، وهي أكثر إحكامًا وأسرع من RSA) وبالصيغة القياسية لـ OpenSSH. يعتمد التوليد على واجهة WebCrypto الأصلية في متصفحك: يُنشأ المفتاح الخاص محليًا ولا يُرسل أبدًا إلى أي خادم، بما في ذلك الخادم الذي يستضيف هذه الصفحة.

كيف يعمل

Ed25519 خوارزمية توقيع حديثة تعتمد على المنحنيات الإهليلجية، سريعة بمفاتيح قصيرة، وقد أصبحت الخيار الافتراضي الموصى به لمفاتيح SSH الجديدة (يدعمها GitHub وGitLab ومعظم المضيفين أصلًا). تولّد هذه الأداة زوج المفاتيح عبر crypto.subtle.generateKey، ثم تجمّع يدويًا الملفين بالصيغة الثنائية التي يتوقعها OpenSSH: سطر ssh-ed25519 <base64> تعليق للمفتاح العام، وصيغة OPENSSH PRIVATE KEY للمفتاح الخاص.

كيف أستخدم هذه الملفات مع OpenSSH؟

نزّل الملفين وضعهما في المجلد ~/.ssh/ (مثلًا id_ed25519 وid_ed25519.pub)، ثم قيّد أذونات الملف الخاص بالأمر chmod 600 ~/.ssh/id_ed25519. أضف محتوى ملف .pub إلى المفاتيح المصرّح بها في الخادم المستهدف أو في حسابك على GitHub/GitLab.

لماذا لا يحتوي المفتاح الخاص على كلمة مرور؟

لإبقاء الأداة بسيطة ومتوقعة السلوك، تولّد هذه الصفحة مفتاحًا خاصًا غير مشفّر (بدون عبارة مرور). وللاستخدام الفعلي المطوّل يُنصح بحماية المفتاح الخاص بعبارة مرور — يمكنك إضافتها لاحقًا بالأمر ssh-keygen -p -f id_ed25519 في سطر الأوامر.

تُنتج مفاتيح SSH الخاصة بك بالكامل داخل متصفحك بفضل واجهة WebCrypto: لا يمر المفتاح الخاص عبر أي خادم ولا يُحفظ في أي مكان آخر غير جهازك.