تتكرر مطالبات اسم المستخدم وكلمة المرور مزعجة ومضيعة للوقت. إذا كنت تستخدم التوثيق بواسطة كلمة المرور مع حسابك في Gitlab، تتطلب كل عملية منك إرسال بيانات الاعتماد الخاصة بك، سواء كجزء من الأمر أو عبر مطالبة تفاعلية.
خاصة عند تشغيل تلقائيًا أنابيب CI/CD في GitLab، يمكن أن يكون التوثيق بواسطة كلمة المرور غير فعال ومخاطر أمنية محتملة. لماذا لا تنهي معاناتك وتقوم بالتبديل إلى التوثيق بواسطة ال Secure Shell (SSH) باستخدام مفاتيح Gitlab SSH؟ استمر بالقراءة وتعلم كيف!
بنهاية هذا البرنامج التعليمي، ستكون قد أنشأت زوج من المفتاح SSH، استخدمت المفتاح للتوثيق ونشر مشروع Gitlab جديد.
متطلبات مسبقة
هذا البرنامج التعليمي عبارة عن عرض توضيحي عملي. لمتابعة، تأكد من تحضير المتطلبات الأتية.
- حسابك في GitLab . إذا لم تكن لديك واحدة حتى الآن، قم بالتسجيل للحصول على حساب مجاني أولاً.
- A computer to use as your Gitlab SSH client. This tutorial will be using an Ubuntu 20.04 LTS computer but should work with Windows and macOS too.
- تحديث أو تثبيت Git . النسخة الأحدث وفقًا لهذا الكتابة هي 2.25.1.
متصفح الشفرة المرئي (VS Code). المثال في هذا البرنامج التعليمي سيستخدم إصدار VS Code 1.62.3.
إنشاء زوج مفاتيح SSH لـ Gitlab
مفاتيح SSH أو زوج مفاتيح تتكون من المفتاح الخاص والمفتاح العام. ببساطة، المفتاح الخاص هو ما يقدمه العميل (جهاز الكمبيوتر الخاص بك) للخادم (Gitlab) للمصادقة، والمفتاح العام هو ما يستخدمه الخادم لفك تشفير المفتاح الخاص الخاص بك. وإذا تطابق كلا المفتاحين، فإن عملية المصادقة تنجح.
يدعم GitLab نوعين من زوج مفاتيح SSH، وهما مفتاح RSA و مفتاح ED25519 SSH. ولكن في هذا المثال، ستقوم بإنشاء زوج مفاتيح ED25519 حيث أنه يُعتبر أكثر أمانًا من مفاتيح RSA. اتبع الخطوات التالية لإنشاء زوج مفاتيح SSH.
1. على سطح المكتب الخاص بك، افتح جلسة في الطرفية وقم بتشغيل الأمر أدناه. هذا الأمر يفتح مجلد المستخدم الرئيسي الخاص بك في VS Code.
2. على VS Code، انقر فوق Terminal —> New Terminal.

3. على الطرفية في VS Code، قم بتشغيل الأمر التالي ssh-keygen -t
لتوليد نوع مفتاح SSH ED25519
. علامة التعليق -C
اختيارية ولكن يُفضل استخدامها لجعل مفاتيحك أكثر تمييزًا.
4. عند السؤال التالي حول مكان حفظ المفتاح، اضغط على Enter لقبول اسم الملف الافتراضي. يجب أن يكون اسم الملف مماثلًا لـ /home/<username>/.ssh/id_ed25519، حيث <username> هو اسم المستخدم الخاص بك.

5. بعد ذلك، اترك كلمة المرور فارغة واضغط على Enter مرتين. ونتيجة لذلك، ستقوم بإنشاء زوج مفاتيح SSH بدون كلمة مرور.

يجب أن تظهر لك نتيجة مماثلة للصورة أدناه تظهر مواقع المفتاح الخاص (id_ed25519) والمفتاح العام (id_ed25519.pub).
لديهما نفس اسم الملف الأساسي. ولكن المفتاح العام له امتداد .pub، في حين أن المفتاح الخاص ليس له امتداد.

إضافة Gitlab SSH Key إلى ملف تعريفك
تذكر أن المفتاح الخاص يبقى على جهاز الكمبيوتر الخاص بك، بينما يجب أن يكون المفتاح العام على خادم Gitlab. لذا بعد توليد مفاتيح SSH، الخطوة التالية هي رفع المفتاح العام إلى حساب Gitlab الخاص بك. للقيام بذلك، اتبع الخطوات التالية.
1. افتح ملف المفتاح العام الخاص بك في VSCode. على اللوحة Explorer، قم بتوسيع المجلد .ssh وانقر فوق id_es25519.pub. بعد ذلك، حدد المفتاح العام وانسخه إلى الحافظة.

2. الآن، افتح متصفح الويب، انتقل إلى https://gitlab.com، وقم بتسجيل الدخول إلى حساب Gitlab الخاص بك.
3. بعد تسجيل الدخول، انتقل إلى إعدادات الملف الشخصي للمفاتيح SSH Keys على https://gitlab.com/-/profile/keys.
- الصق المفتاح العام الذي نسخته سابقًا في حقل Key.
- يتم ملء حقل Title تلقائيًا بجزء التعليق من المفتاح العام الخاص بك. اترك قيمة العنوان كما هي أو أدخل القيمة المفضلة لديك.
- اختياري، حدد تاريخ انتهاء الصلاحية في حقل Expires at.
- أخيرًا، انقر على إضافة مفتاح.

استخدام مفتاح SSH الخاص بك في Gitlab
حتى الآن، لقد أنشأت مفتاح SSH وقمت بتحميله إلى حساب Gitlab الخاص بك. ما تبقى هو اختبار ما إذا كان مفتاح SSH الخاص بك يعمل عن طريق استخدامه للاتصال والمصادقة على Gitlab.
تسجيل الدخول
في الطرفية لـ VS Code، قم بالاتصال بحساب Gitlab الخاص بك عن طريق تشغيل الأمر التالي.
من المفترض أنك تقوم بالاتصال للمرة الأولى، يطلب الأمر منك التحقق من مصداقية المضيف وتأكيد الاتصال. اكتب نعم
في الإشارة واضغط على Enter
لتأكيد.
لاحظ أنه لم يُطلب منك إدخال اسم مستخدم وكلمة مرور لتسجيل الدخول؟ بدلاً من ذلك، يستخدم أمر ssh تلقائيًا مفاتيح SSH الخاصة بك للمصادقة. بعد تسجيل الدخول بنجاح، يجب أن ترى رسالة ترحيب تقول: “مرحبًا بك في Gitlab @اسم_المستخدم!“.

نشر مشروع جديد
لقد قمت بتأكيد أن مفتاح SSH الخاص بك في Gitlab يعمل ويتيح لك المصادقة بنجاح. ولكن هل يعمل أيضًا عند التفاعل مع Gitlab من خلال Git؟ لماذا لا تختبر ذلك عن طريق نشر مستودع Gitlab جديد؟
1. أولاً، قم بتهيئة إعدادات Git وقم بتكوينها باستخدام اسم مستخدم حساب Gitlab الخاص بك وعنوان البريد الإلكتروني. في نافذة الأوامر لبرنامج VS Code، قم بتشغيل الأوامر git config
التالية لتحديد اسم مستخدم Gitlab وعنوان البريد الإلكتروني الخاص بك على التوالي.
يجب أن تقوم الأمر الذي قمت به بتحديث أو إنشاء ملف ~/.gitconfig بالمعلومات التي قدمتها.

2. بعد ذلك، قم بإنشاء مجلد تحت دليل المستخدم الخاص بك لمشروع النطاق الجديد. قم بتسمية المجلد الجديد بـ my-first-project.
سيصبح اسم المجلد أيضًا اسم مشروع مستودع Gitlab الخاص بك.
3. قم بتهيئة المستودع بتشغيل الأمر التالي. تأكد من تغيير <username>
بالاسم المستخدم الخاص بك في Gitlab.
يجب أن ترى رسالة تأكيد مماثلة للصورة أدناه.

4. بعد ذلك، حدد عنوان مستودع Git البعيد لمشروعك. يحدد هذا العنوان ما إذا كنت ستقوم بالمصادقة باستخدام مفاتيح SSH أم باسم مستخدم وكلمة مرور.
ابحث عن الصيغة أدناه، حيث <username>
هو اسم مستخدم Gitlab الخاص بك و <project-name>
هو اسم مستودع Gitlab. لاحظ أن عنوان المستودع يبدأ بـ [email protected]
، مما يشير إلى أنك ستتم المصادقة باستخدام مفتاح SSH بدلاً من اسم المستخدم وكلمة المرور.
تخيل أن اسم المستخدم في جيت لاب هو `kevin
`، واسم المستودع هو `my-first-project
`. الآن قم بتشغيل الأمر في الطرفية على النحو التالي.
5. قم بتشغيل الأمر أدناه لإنشاء ملف فارغ في مستودعك يسمى `README.md`.
6. افتح ملف `README.md` للتحرير والصق المحتوى التالي في الملف. احفظ الملف بعد التحرير. `مشروعي الأول لتوضيح مفاتيح SSH في جيت لاب.
`

7. الآن، قم بإخبار جيت بإضافة ملف `README.md` الجديد إلى المستودع وتأكيد التغييرات.
سيتمكن من رؤية إخراج مشابه لما هو مبين أدناه.

8. وأخيرًا، حان وقت نشر مستودعك الجديد. قم بتشغيل الأمر أدناه لدفع المستودع من جهاز الكمبيوتر الخاص بك إلى حسابك في جيت لاب.
كما تستطيع أن ترى أدناه، نجحت عملية إنشاء المشروع ولم تطلب أي بيانات اعتماد! استخدم جيت مفاتيح SSH الخاصة بك للمصادقة على جيت لاب.

9. وأخيرًا، تأكد من وجود مشروع جيت لاب الجديد الخاص بك عبر الإنترنت. باستخدام متصفح الويب الخاص بك، انتقل إلى https://gitlab.com/dashboard/projects لعرض قائمة مشاريعك الحالية. يجب أن ترى ثم اسم `my-first-project` في القائمة.

10. علاوة على ذلك، انقر فوق اسم المشروع، ويجب أن ترى ملف `README.md` ومحتوياته على العرض.

الختام
Congratulations on reaching this point in the tutorial! خلال هذا الدور السهل خطوة بخطوة، لقد تعلمت كيفية إنشاء واستخدام مفاتيح SSH لإجراء نشر آمن للتحكم في الإصدارات إلى مستودع GitLab الخاص بك.
بفضل هذه المعرفة، يمكنك الآن أداء المهام على مستودعات GitLab الخاصة بك دون القلق بشكل غير مقصود حول تعريض اسم المستخدم وكلمة المرور الخاصة بك.
هل قمت بالفعل باستخدام مصادقة مفتاح GitLab SSH من قبل؟ كيف كانت التجربة؟ هل توصي بشدة للآخرين استخدام مفاتيح SSH، أم هل هناك أي سبب يجب أن يبتعدوا عنها؟ دعنا نعرف رأيك.