توقيع الموثوقية في GitHub

السلام عليكم ورحمة الله وبركاتة

بالبداية ماهو ال signature verification ( توقيع التحقق ) ولماذا نحتاجه؟

ماهو توقيع التحقق؟

توقيع التحقق هو توقيع يساعدك على التحقق من ان مصدر العملية هو المصدر الموثوق، مبعنى التاكد ان من قام بهذه العملية هو صاحب الحساب نفسه.

ماذا نحتاجه:

للاسف، من السهل تزوير عملية في GitHub بمعنى اظهار انه من قام بعمل هذه العملية هو شخص ولكنه في الحقيقة شخص اخر، مثل هذه العملية يظهر لنا ان من قام بها هو لينوس تورفالدس ولكنه في الحقيقة @Dwaseel لذالك يجب عليك وضع التوثيق ليتم الوثوق بعملياتك التي تجريها في GitHub

انشاء مفتاح GPG

تنويه: لاتقوم بمسح مفاتيح ال GPG الخاصة بك على GitHub لانه سوف يتم ازالة علامات التوثيق ( verified ) بعلامة عدم التحقق ( Unverified ) من العمليات التي تم توثيقها عبرها

الان سوف نتاكد من وجود مفتاح GPG في GitHub لتفادي انشاء مفتاح جديد، في البداية يجب عليك الدخول الى GitHub وتسجيل الدخول، بعد تسجيل الدخول توجه الى الاعدادات ( settings )

وبعدها الى مفاتيح ال SSH و GPG اسم الخانة ( SSH and GPG keys )

وننزل تحت الى GPG keys

اذا وجدت مفتاح قم بنسخ ال Key ID ( لاتخبر احد به ) وذهب الى الخطوة التالية، اذ لم تجد مفتاح هيا لننشئ مفتاح سوياً، اولا نفتح الطرفية ( Terminal ) ونقوم بكتابة هذه الامر gpg --full-generate-key بعدها سوف نحتار النوع اختار RSA and RSA وبعدها سوف يسالك عن طول المفتاح يفضل اختيار 4096 وبعدها سوف يطلب منك وقت انتهاء المفتاح يفضل عدم وضع تاريخ انتهاء لعدم زوال علامة التوثيق

جميل، والان سوف يطلب منك الاسم ( ضع اسم حسابك في GitHub وبعدها سوف يطلب منك الايميل الخاص بك ( ضع الايميل الخاص بك في GitHub ) وسوف يطلب منك كتابة تعليق يمكنك تجاهله بالضغط على انتر، وبعدها قم بكتابة O لتاكيد البيانات التي ادخلتها، وهكذا تم انشاء المفتاح بنجاح، بعد ذالك قم بنسخ المفتاح كامل وضعه في GitHub لاظهار المفتاح قم بكتابة هذ الامر لاظهار الايدي الخاص بالمفتاح gpg --list-secret-keys --keyid-format LONG

قم بنسخ الايدي واكتب هذه الامر بتبوعا بالايدي الذي نسخته gpg --armor --export

قم بنسخ المفتاح العام الذي ظهر لك
من -----BEGIN PGP PUBLIC KEY BLOCK----- الى -----END PGP PUBLIC KEY BLOCK-----
كاملا وضعه في GitHub بعد الضغط على New GPG key

والان بعد انشاء المفتاح وادخاله في GitHub بقي عليك اخبار git بالايدي الخاص بالمفتاح، لذالك قم بنسخه والانتقال الى الخطوة التالية

تعريف المفتاح في git

بعد نسخ ايدي المفتاح الخاص بك، قم بلصقه بعد هذه الامر لتعريفه في git
git config --global user.signingkey
Screenshot_select-area_20220312105217

بعد وضعه نقوم بتفعيله بالامر التالي git config --global commit.gpgsign true

والان تم الانتهاء بحمد الله، لنختبر هذه

تم هذه بنجاح بحمد الله، اتمنى ان الشرح واضح لكم يمكنكم طرح الاسئلة بالاسفل وسوف اجيب عليها باذن الله

المصادر:

هذا الموضوع فائز بجائزة أسس للكتابة

هذا الموضوع فائز بجائزة أسس للكتابة وهي اول جائزة عربية مخصصة للكتابة عن البرمجيات الحرة والمفتوحة.

الموضوع متوفر على مدونة gnulinuxsa هنا:

4 إعجابات

مقال جميل, ملاحظة بسيطه فقط:

لن يتم ازالتها, سيظهر Unverified للتعديلات التي استخدمت المفتاح المحذوف.

أنا عن نفسي توقفت عن استخدام التوقيع باستخدام GPG, ليس لي حاجه له, ونقله مزعج الصراحه بين الأجهزة, لذلك لا أستجذمه حاليا, لكن لو لدي مشروع مشهور واحتاج ان يظهر انه أنا فعلا من قمت بالتعديلات, فبلا شك سوف استخدم مفتاح GPG.

إعجاب واحد (1)

صحيح وهذه الي اقصده.

في الحقيقة انت لاتحتاج الى نقله بعد وضعه في GitHub يكفيك ان تنسخ ال key id الخاص به وتضعه في git كما هو موضح في هذه النقطة

إعجاب واحد (1)

تحتاج يكون لديك المفتاح الخاص(Private key) حتى تقوم بالتوقيع على التعديلات الجديدة.

موجود في GitHub ضيف هذه المفتاح وبيضبط ان شاء الله

لا تحط ردك حل, لان الموضوع ليس عباره عن سوال.

لما تضيف ال Key ID راح تطلع لك مشكلة انه مافيه private Key المفروض, على اي حال انصحك تخفي بريدك.

هذه البريد عام للتواصل وليس الاساسي

حول protonmail مره وحده افضل :+1: