كيفية تسجيل الدخول إلى خوادم SSH باستخدام مفاتيح GPG
يعد الحفاظ على بيانات اعتماد تسجيل الدخول إلى SSH جزءًا مهمًا من بروتوكول الأمان الخاص بكل مسؤول. نعرض لك هنا كيف يمكنك تقليل المفاتيح التي تحتفظ بها عن طريق ربط تسجيل دخول SSH الخاص بك بمفتاح GPG الخاص بك.
البدء: تعلم كيف يمكنك أولاً تمكين عمليات تسجيل الدخول بدون كلمة مرور باستخدام SSH.
لماذا تستخدم مفاتيح GPG لتسجيل الدخول إلى SSH
تتمثل إحدى مزايا استخدام مفاتيح GPG لتسجيل الدخول إلى SSH في سهولة التنقل بين الأجهزة المضيفة. يحتوي كل نظام تشغيل اليوم على أداة GUI أو CLI التي تتفاعل مع GPG. على سبيل المثال، GNU Kleopatra متاح لنظامي Linux وWindows، وأداة GnuPG متاحة لنظامي Linux وmacOS.
ميزة أخرى لمفاتيح GPG هي أنه، على عكس مفاتيح SSH، يمكنك استخدامها لمجموعة متنوعة من المهام المتعلقة بالأمان. علاوة على SSH، يمكنك إنشاء مفاتيح فرعية إضافية لتوقيع رسائل البريد الإلكتروني وتشفير الملفات. وعلى هذا النحو، تسمح لك مفاتيح 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”، ثم اضغط يدخل.
اضبط قدرة مفتاحك الفرعي على “=A” ثم اضغط يدخل.
اكتب “4096” في موجه حجم المفتاح، ثم اضغط يدخل.
قم بتعيين فترة زمنية معقولة لصلاحية المفتاح الفرعي الخاص بك. في حالتي، سأكتب “1y” لجعل مفتاحي الفرعي الجديد صالحًا لمدة عام واحد فقط.
قم بإنشاء مفتاح GPG الفرعي الجديد الخاص بك عن طريق كتابة “y”، ثم الضغط يدخل في موجه التأكيد الخاص بالمعالج.
اكتب “إنهاء”، ثم اضغط يدخل للخروج من موجه GPG.
تأكد من أن مفتاحك الفرعي الجديد يعمل بشكل صحيح عن طريق سحب تفاصيل مفتاحك الرئيسي:
gpg --list-keys YOUR-KEY@EMAIL.ADDRESS
تمكين دعم SSH في GPG
بعد تشغيل المفتاح الفرعي، يمكنك الآن تكوين برنامج SSH الخاص بك لقبول طلبات وكيل gpg الواردة. للقيام بذلك، قم بإلحاق “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 الخاص بك، ثم قم بطباعة مفتاح المفتاح الفرعي الخاص بك:
gpg --list-keys --with-keygrip
انسخ قبضة المفاتيح الخاصة بمفتاحك الفرعي، ثم قم بإنشاء ملف “sshcontrol” ضمن الدليل .gnupg:
الصق مفتاح هويتك داخل الملف الجديد، ثم احفظه.
قم بتطبيق تكوين SSH وGPG الجديد الخاص بك عن طريق إعادة تحميل ملف bashrc الخاص بك في الجلسة الطرفية الحالية:
اختبر ما إذا كان برنامج SSH الخاص بك يعمل الآن بشكل صحيح عن طريق إدراج مفتاح SSH العام الخاص به:
تصدير واختبار مفتاح GPG الخاص بك
عند هذه النقطة، لديك الآن برنامج SSH الخفي المرتبط بشكل صحيح بوكيل GPG الخاص بك. لاستخدامه، قم بإنشاء مفتاح تصدير SSH باستخدام الأمر التالي:
gpg --ssh-export-key YOUR-KEY@EMAIL.ADDRESS > ~/authorized_keys
قم بتعيين بتات إذن مفتاح التصدير لتكون قابلة للقراءة والكتابة فقط من قبل المستخدم:
chmod 600 ~/authorized_keys
أرسل ملف Author_keys الجديد إلى خادمك البعيد باستخدام scp:
scp ~/authorized_keys YOUR-REMOTE.SERVER.DOMAIN:~/.ssh/authorized_keys
قم بتسجيل الدخول إلى خادمك البعيد، ثم أعد تشغيل البرنامج الخفي SSH لتطبيق مفتاحك الجديد:
sudo systemctl restart ssh.service
يضعط كنترول + د، ثم قم بتسجيل الدخول مرة أخرى إلى خادم SSH البعيد الخاص بك. من المفترض أن يؤدي ذلك إلى ظهور مطالبة جديدة تطلب كلمة مرور مفتاح GPG الرئيسي.
يعد ربط مفتاح GPG الخاص بك ببرنامج SSH الخفي وتصديره إلى خادم بعيد مجرد بعض الأشياء التي يمكنك القيام بها باستخدام SSH. اكتشف ما يمكنك فعله بهذا البرنامج الرائع باستخدام SSH مع أنابيب UNIX في Linux.
حقوق الصورة: ريفاج عبر Unsplash. جميع التعديلات ولقطات الشاشة بواسطة Ramces Red.
اشترك في نشرتنا الإخبارية!
يتم تسليم أحدث البرامج التعليمية لدينا مباشرة إلى صندوق البريد الوارد الخاص بك