रूट उपयोगकर्ता के लिए दो कारक प्रमाणीकरण स्थापित करने के लिए, हम Google प्रमाणक का उपयोग करेंगे। यह एप्लिकेशन सभी प्लेटफ़ॉर्म पर उपलब्ध है और समय पर निर्भर है। इस प्रकार, भले ही Google सेवाओं तक पहुंच असंभव हो, मुख्य बात यह है कि समय सिंक्रनाइज़ है, फिर सब कुछ सही ढंग से काम करेगा।
हमारे उदाहरण में, हम यह सुनिश्चित करेंगे कि एक मानक उपयोगकर्ता सामान्य रूप से पासवर्ड का उपयोग करके एसएसएच में लॉग इन करता है, लेकिन जब सु-कमांड का उपयोग करके रूट उपयोगकर्ता को विशेषाधिकार बढ़ाने का प्रयास किया जाता है, तो पहले पासवर्ड की आवश्यकता होती है और फिर Google प्रमाणक से कोड की आवश्यकता होती है आवेदन पत्र।
साथ ही, हम इस उपयोगकर्ता के लिए दो-कारक प्रमाणीकरण के उपयोग को बाध्य करने के लिए रूट उपयोगकर्ता के रूप में एसएसएच में लॉगिंग पर रोक लगा देंगे।
1. आइए आवश्यक पैकेज स्थापित करें:
apt install libpam-google-authenticator
2. आइए पहला सेटअप बनाएं:
./google-authenticator
2.1 परिणामस्वरूप, आपको एप्लिकेशन से कोड दर्ज करने के लिए कहा जाएगा, साथ ही Google एप्लिकेशन का एक विकल्प भी जिसे आप उपयोग कर सकते हैं FreeOTP.
2.2 आइए सेवा स्थापित करें SSH:
nano /etc/ssh/sshd_config
PermitRootLogin no
UsePAM yes
ChallengeResponseAuthentication yes
आइए सेटिंग्स को प्रभावी करने के लिए सेवा को पुनः आरंभ करें:
systemctl restart ssh
2.3 आइए कमांड के लिए पासवर्ड दर्ज करने के बाद एक कोड अनुरोध सेट करें su -
आइए पंक्तियाँ जोड़ें ताकि फ़ाइल इस तरह दिखे:
nano /etc/pam.d/su
...
auth sufficient pam_rootok.so
...
auth required pam_unix.so no_warn try_first_pass
auth required pam_google_authenticator.so
...
3. हो गया, आप ऑपरेशन की जांच कर सकते हैं, एक सामान्य उपयोगकर्ता के रूप में लॉग इन करने और सु कमांड का उपयोग करके रूट पर स्विच करने का प्रयास करने के बाद, पासवर्ड दर्ज करने के बाद, आपको एप्लिकेशन से एक कोड के लिए संकेत दिया जाएगा।
भी:
3.1 यदि आप ssh से कनेक्ट करने का प्रयास करते समय कोड का संकेत देना चाहते हैं, तो आपको फ़ाइल में इन पंक्तियों को जोड़ना होगा:
nano /etc/pam.d/sshd
...
@include common-auth
...
auth required pam_unix.so no_warn try_first_pass
auth required pam_google_authenticator.so
...
यदि आप रूट उपयोगकर्ता का उपयोग कर रहे हैं, तो एसएसएच सेटिंग्स में लॉगिन की अनुमति दें यदि आप किसी अन्य उपयोगकर्ता का उपयोग कर रहे हैं, तो कमांड चलाएँ:
./google-authenticator
एक नियमित उपयोगकर्ता के रूप में और इसे उसी तरह कॉन्फ़िगर करें जैसा हमने रूट उपयोगकर्ता के लिए वर्णित किया है।