• Sun. Sep 22nd, 2024

كيفية تسجيل الدخول إلى خوادم SSH باستخدام مفاتيح GPG

Byadmin

Aug 5, 2024

صورة لمساحة مكتب بها أشخاص يعملون على أجهزة الكمبيوتر الخاصة بهم.

يعد الحفاظ على بيانات تسجيل الدخول عبر SSH جزءًا مهمًا من بروتوكول الأمان الخاص بكل مسؤول. سنوضح لك هنا كيفية تقليل المفاتيح التي تحتفظ بها من خلال ربط تسجيل الدخول عبر SSH بمفتاح GPG الخاص بك.

البدء: تعرف على كيفية تمكين تسجيل الدخول بدون كلمة مرور باستخدام SSH لأول مرة.

لماذا تستخدم مفاتيح GPG لتسجيل الدخول إلى SSH

تتمثل إحدى مزايا استخدام مفاتيح GPG لتسجيل الدخول عبر SSH في سهولة التنقل بين المضيفين. يحتوي كل نظام تشغيل اليوم على أداة واجهة مستخدم رسومية أو سطر أوامر تتفاعل مع GPG. على سبيل المثال، يتوفر GNU Kleopatra لنظامي Linux وWindows، وتتوفر أداة GnuPG لنظامي Linux وmacOS.

لقطة شاشة تظهر تشغيل GNU Kleopatra باستخدام مفتاح GPG.

من بين المزايا الأخرى لمفاتيح GPG أنه على عكس مفاتيح SSH، يمكنك استخدامها لمجموعة متنوعة من المهام المتعلقة بالأمان. بالإضافة إلى SSH، يمكنك إنشاء مفاتيح فرعية إضافية لتوقيع رسائل البريد الإلكتروني وتشفير الملفات. وبالتالي، تتيح لك مفاتيح GPG دمج جزء كبير من حياتك الرقمية في عدد قليل من البتات الآمنة سهلة الصيانة.

محطة طرفية تعرض مفتاح GPG مع مفاتيح فرعية متعددة.

أخيرًا، لن يؤدي استخدام GPG عبر SSH إلى تغيير أي بنية أساسية موجودة على أجهزتك البعيدة. وذلك لأن GPG يحول مفتاح المصادقة الخاص به إلى تنسيق “متوافق مع SSH”. ونتيجة لذلك، يمكنك تصدير مفتاح GPG العام “المتوافق مع SSH” إلى خادم SSH واستخدامه على الفور لتسجيل الدخول.

في ملحوظة جانبية: تعرف على كيفية تأمين حساب Github الخاص بك باستخدام مفاتيح SSH.

تحضير مفتاح GPG الخاص بك لـ SSH

الخطوة الأولى لاستخدام مفاتيح GPG على SSH هي إنشاء مفتاح فرعي جديد. سيتيح لك القيام بذلك مشاركة تفاصيل مصادقة SSH الخاصة بك دون المساس بهوية GPG الأساسية الخاصة بك.

ابدأ بفتح موجه GPG للمفتاح الرئيسي الخاص بك:

gpg --expert --edit-key YOUR-KEY@EMAIL.ADDRESS

ملحوظة: يمكنك العثور على عنوان البريد الإلكتروني لمفتاحك الرئيسي عن طريق إدراج محتويات سلسلة المفاتيح الخاصة بك: gpg --list-keys.

اكتب “addkey” في موجه GPG، ثم حدد “8”، ثم اضغط على يدخل.

محطة تسلط الضوء على قالب RSA المخصص للمفتاح الفرعي GPG.

اضبط قدرة المفتاح الفرعي الخاص بك على “=A” ثم اضغط يدخل.

محطة طرفية تُظهر عملية إعداد إمكانية المصادقة للمفتاح الفرعي GPG.

اكتب “4096” في موجه حجم المفتاح، ثم اضغط على يدخل.

حدد مدة زمنية معقولة لصلاحية المفتاح الفرعي الخاص بك. في حالتي، سأكتب “1y” لجعل المفتاح الفرعي الجديد صالحًا لمدة عام واحد فقط.

محطة طرفية تظهر قيم حجم المفتاح الفرعي وصلاحيته.

قم بإنشاء مفتاح GPG الفرعي الجديد الخاص بك عن طريق كتابة “y”، ثم الضغط على يدخل على موجه التأكيد الخاص بالمعالج.

اكتب “إنهاء”، ثم اضغط على يدخل للخروج من موجه GPG.

تأكد من أن المفتاح الفرعي الجديد يعمل بشكل صحيح عن طريق سحب تفاصيل المفتاح الرئيسي الخاص بك:

gpg --list-keys YOUR-KEY@EMAIL.ADDRESS
محطة تسلط الضوء على مفتاح المصادقة الفرعي الإضافي الموجود أسفل المفتاح الرئيسي.

تمكين دعم SSH في GPG

بمجرد تشغيل المفتاح الفرعي، يمكنك الآن تكوين خادم SSH الخاص بك لقبول طلبات gpg-agent الواردة. للقيام بذلك، أضف “enable-ssh-support” إلى ملف “gpg-agent.conf” الخاص بمستخدمك الحالي:

echo "enable-ssh-support" >> ~/.gnupg/gpg-agent.conf

افتح ملف “.bashrc” باستخدام محرر النصوص المفضل لديك:

قم بلصق أسطر التعليمات البرمجية التالية في نهاية ملف .bashrc الخاص بك:

export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)br>gpgconf --launch gpg-agent

احفظ ملف bashrc الخاص بك، ثم اطبع keygrip الخاص بالمفتاح الفرعي الخاص بك:

gpg --list-keys --with-keygrip
محطة تسلط الضوء على قبضة المفتاح الفرعي GPG.

انسخ مفتاحك الفرعي keygrip، ثم قم بإنشاء ملف “sshcontrol” ضمن دليل .gnupg:

قم بلصق مفتاح الهوية الخاص بك داخل الملف الجديد، ثم احفظه.

محطة طرفية تسلط الضوء على قبضة المفتاح الفرعي في ملف sshcontrol.

قم بتطبيق تكوين SSH وGPG الجديد عن طريق إعادة تحميل ملف bashrc على جلسة المحطة الطرفية الحالية:

اختبر ما إذا كان خادم SSH الخاص بك يعمل بشكل صحيح الآن من خلال إدراج مفتاح SSH العام الخاص به:

محطة طرفية تظهر مفتاح GPG المحمّل لـ SSH.

تصدير مفتاح GPG واختباره

في هذه المرحلة، أصبح لديك الآن برنامج SSH مرتبط بشكل صحيح بوكيل GPG الخاص بك. لاستخدامه، قم بإنشاء مفتاح تصدير SSH باستخدام الأمر التالي:

gpg --ssh-export-key YOUR-KEY@EMAIL.ADDRESS > ~/authorized_keys

قم بتعيين بتات أذونات مفتاح التصدير بحيث تكون قابلة للقراءة والكتابة من قبل المستخدم فقط:

chmod 600 ~/authorized_keys

أرسل ملف authorized_keys الجديد إلى الخادم البعيد الخاص بك باستخدام scp:

scp ~/authorized_keys YOUR-REMOTE.SERVER.DOMAIN:~/.ssh/authorized_keys

قم بتسجيل الدخول إلى الخادم البعيد الخاص بك، ثم أعد تشغيل برنامج SSH لتطبيق المفتاح الجديد الخاص بك:

sudo systemctl restart ssh.service

يضعط كنترول + دثم قم بتسجيل الدخول مرة أخرى إلى خادم SSH البعيد. سيؤدي هذا إلى ظهور مطالبة جديدة تطلب كلمة مرور مفتاح GPG الرئيسي الخاص بك.

لقطة شاشة لمطالبة كلمة المرور GPG الخاصة بـ Gnome لـ SSH.

إن ربط مفتاح GPG الخاص بك بخادم SSH الخاص بك وتصديره إلى خادم بعيد هي مجرد بعض الأشياء التي يمكنك القيام بها باستخدام SSH. اكتشف ما يمكنك القيام به باستخدام هذه القطعة الرائعة من البرامج باستخدام SSH مع أنابيب UNIX في Linux.

By admin

Leave a Reply

Your email address will not be published. Required fields are marked *