SSH को Google प्रमाणक के द्वि-कारक प्रमाणीकरण से कैसे सुरक्षित करें
अपने SSH सर्वर को आसानी से उपयोग करने वाले टू-फैक्टर ऑथेंटिकेशन के साथ सुरक्षित करना चाहते हैं? Google आपके SSH सर्वर के साथ Google प्रमाणक के टाइम-आधारित वन-टाइम पासवर्ड (TOTP) सिस्टम को एकीकृत करने के लिए आवश्यक सॉफ़्टवेयर प्रदान करता है। जब आप कनेक्ट करते हैं तो आपको अपने फोन से कोड दर्ज करना होगा.
Google प्रमाणक Google के लिए "फ़ोन होम" नहीं करता है - सभी कार्य आपके SSH सर्वर और आपके फ़ोन पर होते हैं। वास्तव में, Google प्रमाणक पूरी तरह से खुला स्रोत है, इसलिए आप इसके स्रोत कोड की स्वयं भी जांच कर सकते हैं.
Google प्रमाणक स्थापित करें
Google प्रमाणक के साथ मल्टीफ़ॉर्मर प्रमाणीकरण को लागू करने के लिए, हमें खुले स्रोत वाले Google प्रमाणक PAM मॉड्यूल की आवश्यकता होगी। PAM का अर्थ है "प्लगेबल ऑथेंटिकेशन मॉड्यूल" - यह लिनक्स सिस्टम में प्रमाणीकरण के विभिन्न रूपों को आसानी से प्लग करने का एक तरीका है.
Ubuntu के सॉफ़्टवेयर रिपॉजिटरी में Google प्रमाणक PAM मॉड्यूल के लिए एक आसान-से-संस्थापित पैकेज है। यदि आपके लिनक्स वितरण में इसके लिए कोई पैकेज नहीं है, तो आपको इसे Google प्रमाणक डाउनलोड पृष्ठ से Google कोड पर डाउनलोड करना होगा और खुद को संकलित करना होगा.
उबंटू पर पैकेज स्थापित करने के लिए, निम्नलिखित कमांड चलाएँ:
sudo apt-get install लिबपाम-गूगल-ऑथेंटिकेशन
(यह केवल हमारे सिस्टम पर PAM मॉड्यूल स्थापित करेगा - हमें इसे SSH लॉगिन के लिए मैन्युअल रूप से सक्रिय करना होगा।)
एक प्रमाणीकरण कुंजी बनाएँ
उस उपयोगकर्ता के रूप में लॉग इन करें जिसे आप दूरस्थ रूप से लॉग इन कर रहे हैं और चलाएं गूगल-प्रमाणक उस उपयोगकर्ता के लिए एक गुप्त कुंजी बनाने का आदेश.
Y टाइप करके कमांड को अपनी Google प्रमाणक फ़ाइल अपडेट करने दें। फिर आपको कई सवालों के साथ संकेत दिया जाएगा जो आपको एक ही अस्थायी सुरक्षा टोकन के उपयोग को प्रतिबंधित करने की अनुमति देगा, उस समय विंडो को बढ़ाएं जिसके लिए टोकन का उपयोग किया जा सकता है, और सीमा की अनुमति देता है कि ब्रेक्स-बल क्रैकिंग प्रयासों में बाधा डालने के प्रयासों की अनुमति है। ये विकल्प कुछ आसानी से उपयोग के लिए कुछ सुरक्षा का व्यापार करते हैं.
Google प्रमाणक आपको एक गुप्त कुंजी और कई "आपातकालीन स्क्रैच कोड" के साथ प्रस्तुत करेगा। आपातकालीन स्क्रैच कोड को कहीं सुरक्षित रूप से लिखें - उनका उपयोग केवल एक बार ही किया जा सकता है, और यदि आप अपना फोन खोते हैं तो वे उपयोग के लिए अभिप्रेत हैं।.
अपने फोन पर Google प्रमाणक ऐप में गुप्त कुंजी दर्ज करें (आधिकारिक ऐप एंड्रॉइड, आईओएस और ब्लैकबेरी के लिए उपलब्ध हैं)। आप स्कैन बारकोड सुविधा का उपयोग भी कर सकते हैं - कमांड के आउटपुट के शीर्ष के पास स्थित URL पर जाएं और आप अपने फोन के कैमरे से एक क्यूआर कोड स्कैन कर सकते हैं.
अब आपके फ़ोन पर लगातार बदलते सत्यापन कोड होंगे.
यदि आप कई उपयोगकर्ताओं के रूप में दूरस्थ रूप से लॉग इन करना चाहते हैं, तो प्रत्येक उपयोगकर्ता के लिए यह कमांड चलाएँ। प्रत्येक उपयोगकर्ता की अपनी गुप्त कुंजी और अपने स्वयं के कोड होंगे.
Google प्रमाणक सक्रिय करें
आगे आपको SSH लॉगिन के लिए Google प्रमाणक की आवश्यकता होगी। ऐसा करने के लिए, खोलें /etc/pam.d/sshd आपके सिस्टम पर फ़ाइल (उदाहरण के लिए, के साथ सुडो नैनो /etc/pam.d/sshd कमांड) और फाइल में निम्नलिखित लाइन जोड़ें:
सामान्य आवश्यक pam_google_authenticator.so
अगला, खोलें / Etc / ssh / sshd_config फ़ाइल, खोजें ChallengeResponseAuthentication लाइन, और इसे पढ़ने के लिए इस प्रकार बदलें:
ChallengeResponseAuthentication हाँ
(यदि ChallengeResponseAuthentication लाइन पहले से मौजूद नहीं है, फ़ाइल में उपरोक्त लाइन जोड़ें।)
अंत में, SSH सर्वर को पुनः आरंभ करें ताकि आपके परिवर्तन प्रभावी हों:
sudo सेवा ssh पुनरारंभ
जब भी आप SSH के माध्यम से लॉग इन करने का प्रयास करेंगे, तो आपको अपना पासवर्ड और Google प्रमाणक कोड दोनों के लिए संकेत दिया जाएगा.