كيفية إعداد مفاتيح Git SSH

عند العمل مع Git باستخدام سطر الأوامر ، فإن الطريقة الأكثر شيوعًا للتعامل مع المصادقة هي من خلال استخدام مفاتيح SSH. تعرف على كيفية إعدادها.

عند العمل مع Git باستخدام سطر الأوامر ، فإن الطريقة الأكثر شيوعًا للتعامل مع المصادقة هي من خلال استخدام مفاتيح SSH.

معظم العملاء الذين يعتمدون على واجهة المستخدم الرسومية مثل GitHub Desktop سيتعاملون مع هذا الأمر نيابةً عنك ، ولكن في بعض الأحيان تحتاج إلى سطر الأوامر ، ولذلك من المفيد جدًا أن يكون لديك إعداد مفتاح SSH في مكانه.

أيضًا ، ستحتاج أحيانًا إلى مفتاح SSH للقيام بأشياء مفيدة مثل سحب مستودع على خادم بعيد.

مفاتيح على جهاز الكمبيوتر الخاص بك

يتم تخزين مفاتيح SSH في ملف~/.sshمجلد.

يمكن أن يكون لديك أكثر من مفتاح واحد هناك ، لأن مفاتيح SSH تُستخدم لأشياء أخرى غير Git.

يمكنك سرد جميع مفاتيح SSH الخاصة بك عن طريق الكتابة

ls -al ~/.ssh

إذا كان لديك مفاتيح موجودة ، فستلاحظ أنها تجلس في أزواج ، ملف واحد وآخر بنفس الاسم ينتهي بـ.pub:

Existing SSH keys

ال.pubيحتوي الملف على المفتاح العام ، بينما يحتوي الملف الآخر على المفتاح الخاص الذي لا يجب مشاركته في أي مكان.

يجب ألا تشارك المفتاح الخاص في أي مكان. إذا فقدت المفتاح الخاص ، فسيتعين عليك إعادة إنشاء زوج مفاتيح خاص / عام جديد ، حيث لا يمكن إكمال المصادقة بنجاح بدون جزء المفتاح الخاص.

توليد مفتاح جديد

يمكنك إنشاء مفتاح SSH جديد باستخدام الأمرssh-keygen، والذي يتوفر على جميع أجهزة كمبيوتر macOS و Linux و Windows الحديثة التي تعمل بنظام Linux الفرعي أوGit لنظام التشغيل Windowsصفقة.

هذا هو الأمر الذي تستخدمه:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

الجزء الأخير ، الذي يتم ملؤه في هذا المثال بعنوان بريد إلكتروني ، هو تعليق. يمكنك إدخال أي بريد إلكتروني تريده ، وليس بالضرورة أن يكون حساب GitHub الخاص بك أو حتى يمكن أن يكون سلسلة عشوائية. قد يكون من المفيد معرفة من أنشأ المفتاح إذا كان هناك احتمال للغموض.

سيسألك برنامج إنشاء المفاتيح عن المكان الذي تريد حفظ المفتاح فيه. إذا كان هذا هو المفتاح الأول ، فنقترح عليك استخدامهid_rsaكاسم ملف ، ولكن من الأفضل اختيار اسم ملف يذكرك بالخدمة التي تنشئها من أجلها ، مثلgithub_rsa.

يمكنك اختياريا إضافة كلمة مرور. أوصي بشدة بتعيين كلمة المرور. سيقوم macOS بتخزين كلمة المرور في Keychain حتى لا تضطر إلى تكرارها في كل مرة.

أضف المفتاح إلى GitHub

أعرض عملية GitHub ، لكنها نفس نوع العملية التي تستخدمها كل منصة Git ، مع اختلافات صغيرة.

في إعدادات GitHub ، ستجد قائمة "مفاتيح SSH و GPG":

يؤدي النقر فوقه إلى إظهار الإعداد الحالي الخاص بك:

كما ترى هنا ، قمت بتحديد 3 مفاتيح SSH ، أحدها أستخدمه محليًا على جهاز Mac الخاص بي ، و 2 أستخدمه على الخوادم البعيدة لسحب رمز موقع الويب.

يتيح لك الضغط على "مفتاح SSH جديد" إضافة مفتاح جديد:

لقد قمت بتعيين العنوان ليكون شيئًا ذا مغزى ، وستتذكره بعد عامين + من الآن.

المفتاح هو الذي أنشأته من قبل.

يمكنك فتح ملف.pubملف المفتاح ، انسخ محتواه والصقه في هذا المربع.

يمكنك القيام بذلك باستخدام أي أمر CLI مثلcat id_rsa.pubوتقوم بنسخ / لصق رمز المفتاح بالكامل بالماوس.

بمجرد حفظ هذه السلسلة في GitHub (أو أي خدمة أخرى ، حيث أن المفهوم هو نفسه للجميع) ، سيكون لدى عميل Git بيانات الاعتماد التي يحتاجها للتواصل مع خادم الإزالة ، ويجب أن تكون على ما يرام!

استخدام مفاتيح متعددة

يوصى باستخدام مفتاح SSH مختلف لكل خدمة تنوي استخدامها.

هذا يجعل من السهل جدًا إبطال مفتاح في خدمة معينة دون الحاجة إلى تغييره في جميع الخدمات التي تستخدمها إذا قررت تجديده ، إما بسبب تعرضه للاختراق / الكشف العلني أو لسبب آخر.