كيفية تكوين المصادقة الثنائية في SSH في أوبونتو؟

توثيق ذو عاملين

La المصادقة الثنائية (2FA) ليست شيئًا فريدًا يمكن استخدامه على وسائل التواصل الاجتماعي أو على أي موقع آخر. حسنًا ، يمكن أيضًا تنفيذ هذا الإجراء الأمني ​​داخل نظام التشغيل.

هذا هو السبب سنرى اليوم كيفية تنفيذ المصادقة الثنائية في SSH في Ubuntu والمشتقات باستخدام Google Authenticator المعروف والذي سيزيد بشكل كبير من أمان خادم OpenSSH الخاص بك.

عادة ، ما عليك سوى إدخال كلمة مرور أو استخدام مفتاح SSH لتسجيل الدخول إلى نظامك عن بُعد.

تتطلب المصادقة الثنائية (2FA) إدخال جزأين من المعلومات لتسجيل الدخول.

لذلك ، ستحتاج أيضًا إلى إدخال كلمة مرور لمرة واحدة قائمة على الوقت لتسجيل الدخول إلى خادم SSH الخاص بك.

يتم حساب كلمة المرور لمرة واحدة باستخدام خوارزمية TOTP ، وهي إحدى معايير IETF.

تثبيت وتهيئة Google Authenticator في Ubuntu ومشتقاته

الخطوة الأولى التي سنقوم بها هي تثبيت Google Authenticator في نظامنا، لذلك سنفتح محطة طرفية في النظام (يمكن القيام بذلك باستخدام مجموعة المفاتيح "Ctrl + Alt + T) وفيها سنكتب الأمر التالي:

sudo apt install libpam-google-authenticator

تم التثبيت سنقوم بتشغيل التطبيق المثبت حديثًا باستخدام الأمر التالي:

google-authenticator

عند تنفيذ هذا الأمر ، ما سنفعله هو تعيين مفتاح سري وهذا سيسألنا عما إذا كنا نريد استخدام الرموز بناءً على الوقت ، وهو ما سنجيب عليه بنعم.

بعد هذا، سيرون رمز الاستجابة السريعة الذي يمكنهم مسحه ضوئيًا باستخدام تطبيق TOTP على هواتفهم.

هنا نوصي باستخدام تطبيق Google Authenticator على هاتفك المحمول.il ، حتى تتمكن من تثبيت التطبيق من خلال Google Play أو Apple App Store على هاتفك المحمول.

لديك التطبيق بالفعل على هاتفك ، يجب عليك مسح رمز الاستجابة السريعة به. ضع في اعتبارك أنك بحاجة إلى تكبير نافذة الجهاز لفحص رمز الاستجابة السريعة بالكامل.

يمثل رمز الاستجابة السريعة المفتاح السري، المعروف فقط بخادم SSH وتطبيق Google Authenticator.

بمجرد مسح رمز الاستجابة السريعة ضوئيًا ، يمكنهم رؤية رمز مميز فريد من ستة أرقام على هواتفهم. افتراضيًا ، يستمر هذا الرمز المميز لمدة 30 ثانية ويجب إدخاله لتسجيل الدخول إلى Ubuntu من خلال SSH.

جوجل-المصدق-المفتاح السري

في الجهاز ، ستتمكن أيضًا من رؤية الرمز السري ، بالإضافة إلى رمز التحقق ورمز بدء الطوارئ.

نوصيك بالاحتفاظ بهذه المعلومات في مكان آمن لاستخدامها لاحقًا. من بين الأسئلة الأخرى التي نطرحها علينا ، سنجيب ببساطة بنعم عن طريق كتابة الحرف y.

إعداد SSH لاستخدامه مع Google Authenticator

نعتمد بالفعل على ما سبق ، سنقوم الآن بإجراء التكوين اللازم حتى نتمكن من استخدام اتصال SSH في نظامنا باستخدام Google Authenticator.

في المحطة الطرفيةسنقوم بكتابة الأمر التالي

sudo nano /etc/ssh/sshd_config

داخل الملف سنبحث عن الأسطر التالية وسنغيرها إلى "نعم" ، على النحو التالي:

UsePAM yes

ChallengeResponseAuthentication yes

بمجرد إجراء التغييرات ، احفظ التغييرات التي تم إجراؤها باستخدام Ctrl + O وأغلق الملف باستخدام Ctrl + X.

في نفس المحطة ، سنقوم بإعادة تشغيل SSH باستخدام:

sudo systemctl restart ssh

بشكل افتراضي ، تتطلب المصادقة إدخال كلمة مرور المستخدم لتسجيل الدخول.

من اجل ماذا دعنا نعدل ملف قواعد PAM لعفريت SSH.

sudo nano /etc/pam.d/sshd

في بداية هذا الملف ، يمكنك رؤية السطر التالي ، والذي يتيح مصادقة كلمة المرور

ChallengeResponseAuthentication

التي يجب أن نضعها على نعم.

لتمكين مصادقة كلمة المرور لمرة واحدة أيضًا ، أضف السطرين التاليين.

@include common-auth

#One-time password authentication via Google Authenticator

auth required pam_google_authenticator.so

أحفظ وأغلق الملف.

من الآن فصاعدًا ، في كل مرة يسجلون فيها الدخول إلى نظامك عبر اتصال SSH ، سيُطلب منهم إدخال كلمة مرور المستخدم ورمز التحقق (كلمة المرور لمرة واحدة التي أنشأها Google Authenticator).


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.

  1.   ميغيل قال

    مرحبًا ، برنامج تعليمي بسيط إلى حد ما ، ومع ذلك ، بمجرد أن أقوم بجميع الخطوات التي لم يعد بإمكاني الدخول إليها عبر ssh ، فإنه يلقي بي بخطأ غير صحيح في كلمة المرور ، ولا يمكنني حتى طلب 2FA.

    لدي Ubuntu Server 20.04