Google प्रमाणक के साथ अपने लिनक्स डेस्कटॉप में प्रवेश कैसे करें
अतिरिक्त सुरक्षा के लिए, आपको अपने लिनक्स पीसी में लॉग इन करने के लिए समय-आधारित प्रमाणीकरण और साथ ही एक पासवर्ड की आवश्यकता हो सकती है। यह समाधान Google प्रमाणक और अन्य TOTP ऐप्स का उपयोग करता है.
यह प्रक्रिया मानक यूनिटी डेस्कटॉप और लाइट डीएमडी लॉगिन प्रबंधक के साथ उबंटू 14.04 पर प्रदर्शित की गई थी, लेकिन अधिकांश लिनक्स वितरण और डेस्कटॉप पर सिद्धांत समान हैं.
हमने पहले आपको दिखाया था कि SSH के माध्यम से रिमोट एक्सेस के लिए Google प्रमाणक की आवश्यकता कैसे होती है, और यह प्रक्रिया समान है। इसके लिए Google प्रमाणक ऐप की आवश्यकता नहीं है, लेकिन किसी भी संगत ऐप के साथ काम करता है जो टीओटीपी प्रमाणीकरण योजना को लागू करता है, जिसमें ऑटि भी शामिल है.
Google प्रमाणक PAM को स्थापित करें
SSH पहुंच के लिए इसे सेट करते समय, हमें पहले उपयुक्त PAM ("प्लगेबल-ऑथेंटिकेशन मॉड्यूल") सॉफ्टवेयर इंस्टॉल करना होगा। पीएएम एक ऐसी प्रणाली है जो हमें विभिन्न प्रकार के प्रमाणीकरण तरीकों को लिनक्स सिस्टम में प्लग करने और उन्हें आवश्यकता होती है.
उबंटू पर, निम्न कमांड Google प्रमाणक PAM स्थापित करेगा। एक टर्मिनल विंडो खोलें, निम्न कमांड टाइप करें, एंटर दबाएं और अपना पासवर्ड प्रदान करें। सिस्टम आपके लिनक्स वितरण के सॉफ़्टवेयर रिपॉजिटरी से PAM डाउनलोड करेगा और इसे स्थापित करेगा:
sudo apt-get install लिबपाम-गूगल-ऑथेंटिकेशन
अन्य लिनक्स वितरणों को उम्मीद है कि यह पैकेज आसान स्थापना के लिए भी उपलब्ध होना चाहिए, - अपने लिनक्स वितरण के सॉफ़्टवेयर रिपॉजिटरी को खोलें और इसके लिए एक खोज करें। सबसे खराब स्थिति में, आप GitHub पर PAM मॉड्यूल के लिए स्रोत कोड पा सकते हैं और इसे स्वयं संकलित कर सकते हैं.
जैसा कि हमने पहले बताया, यह समाधान Google के सर्वरों के लिए "होम फ़ोनिंग" पर निर्भर नहीं करता है। यह मानक TOTP एल्गोरिथ्म को लागू करता है और इसका उपयोग तब भी किया जा सकता है जब आपके कंप्यूटर में इंटरनेट का उपयोग नहीं होता है.
अपनी प्रमाणीकरण कुंजी बनाएँ
अब आपको एक गुप्त प्रमाणीकरण कुंजी बनानी होगी और इसे अपने फ़ोन पर Google प्रमाणक ऐप (या एक समान) ऐप में दर्ज करना होगा। सबसे पहले, अपने लिनक्स सिस्टम पर अपने उपयोगकर्ता खाते के रूप में लॉग इन करें। एक टर्मिनल विंडो खोलें और चलाएँ गूगल-प्रमाणक आदेश। प्रकार y और यहाँ संकेतों का पालन करें। यह Google प्रमाणक सूचना के साथ वर्तमान उपयोगकर्ता खाते की निर्देशिका में एक विशेष फ़ाइल बनाएगा.
आपको उस दो-कारक सत्यापन कोड को Google प्रमाणक या अपने स्मार्टफ़ोन पर समान TOTP ऐप में प्राप्त करने की प्रक्रिया से गुजारा जाएगा। आपका सिस्टम एक QR कोड उत्पन्न कर सकता है जिसे आप स्कैन कर सकते हैं, या आप इसे मैन्युअल रूप से टाइप कर सकते हैं.
अपने आपातकालीन स्क्रैच कोड को अवश्य नोट कर लें, जिसे आप अपना फोन खो जाने पर लॉग इन करने के लिए उपयोग कर सकते हैं.
प्रत्येक उपयोगकर्ता खाते के लिए इस प्रक्रिया से गुजरें जो आपके कंप्यूटर का उपयोग करता है। उदाहरण के लिए, यदि आप अपने कंप्यूटर का उपयोग करने वाले एकमात्र व्यक्ति हैं, तो आप इसे केवल एक बार अपने सामान्य उपयोगकर्ता खाते पर कर सकते हैं। यदि आपके पास कोई और व्यक्ति है जो आपके कंप्यूटर का उपयोग करता है, तो आप उन्हें अपने स्वयं के खाते में साइन इन करना चाहेंगे और अपने स्वयं के खाते के लिए एक उपयुक्त दो-कारक कोड उत्पन्न करेंगे ताकि वे लॉग इन कर पाएंगे.
प्रमाणीकरण को सक्रिय करें
यहाँ जहाँ चीजें थोड़ी मसालेदार मिलती हैं। जब हमने SSH लॉगिन के लिए दो-कारक को सक्षम करने के तरीके के बारे में बताया, तो हमें केवल SSH लॉगिन के लिए इसकी आवश्यकता थी। यह सुनिश्चित किया कि आप अभी भी स्थानीय रूप से लॉग इन कर सकते हैं यदि आपने अपना प्रमाणीकरण ऐप खो दिया है या यदि कुछ गलत हुआ है.
चूंकि हम स्थानीय लॉगिन के लिए दो-कारक प्रमाणीकरण सक्षम कर रहे हैं, इसलिए यहां संभावित समस्याएं हैं। अगर कुछ गलत होता है, तो आप लॉग इन नहीं कर सकते हैं। इस बात को ध्यान में रखते हुए, हम आपको ग्राफिकल लॉगइन के लिए इसे सक्षम करके चलेंगे। यदि आपको जरूरत है तो यह आपको एक भागने की हैच देता है.
उबंटू पर ग्राफिकल लॉगिन के लिए Google प्रमाणक सक्षम करें
जब आप पाठ प्रॉम्प्ट से लॉग इन करते हैं, तो आप केवल ग्राफ़िकल लॉगिन के लिए दो-चरणीय प्रमाणीकरण सक्षम कर सकते हैं। इसका मतलब है कि आप आसानी से एक आभासी टर्मिनल पर जा सकते हैं, वहां लॉग इन करें और अपने परिवर्तनों को वापस लाएं ताकि समस्या का अनुभव होने पर गोगोले प्रमाणकर्ता की आवश्यकता न हो।.
निश्चित रूप से, यह आपके प्रमाणीकरण प्रणाली में एक छेद खोलता है, लेकिन आपके सिस्टम पर भौतिक पहुंच वाला एक हमलावर पहले से ही इसका उपयोग कर सकता है। यही कारण है कि SSH के माध्यम से दूरस्थ लॉगिन के लिए दो-कारक प्रमाणीकरण विशेष रूप से प्रभावी है.
यहां बताया गया है कि उबंटू के लिए यह कैसे किया जाता है, जो लाइटडीएम लॉगिन प्रबंधक का उपयोग करता है। निम्न की तरह एक कमांड के साथ संपादन के लिए LightDM फ़ाइल खोलें:
sudo gedit /etc/pam.d/lightdm
(याद रखें, ये विशिष्ट चरण केवल तभी काम करेंगे जब आपका लिनक्स वितरण और डेस्कटॉप लाइटडैम लॉगिन प्रबंधक का उपयोग करें।)
फ़ाइल के अंत में निम्न पंक्ति जोड़ें, और फिर इसे सहेजें:
सामान्य आवश्यक pam_google_authenticator.so nullok
"Nullok" बिट अंत में सिस्टम को बताता है कि उपयोगकर्ता को लॉग-इन करने की अनुमति देता है, भले ही उन्होंने दो-कारक प्रमाणीकरण स्थापित करने के लिए Google-Authorator कमांड नहीं चलाया हो। यदि उन्होंने इसे स्थापित किया है, तो उन्हें एक समय-बॉड कोड दर्ज करना होगा - अन्यथा वे नहीं करेंगे। "Nullok" और उन उपयोगकर्ता खातों को निकालें, जिन्होंने Google प्रमाणक कोड स्थापित नहीं किया है, बस ग्राफ़िकल रूप से लॉग इन नहीं कर पाएंगे.
अगली बार जब कोई उपयोगकर्ता ग्राफिक रूप से लॉग इन करता है, तो उनसे उनका पासवर्ड मांगा जाएगा और फिर उनके फोन पर प्रदर्शित वर्तमान सत्यापन कोड के लिए संकेत दिया जाएगा। यदि वे सत्यापन कोड दर्ज नहीं करते हैं, तो उन्हें लॉग इन करने की अनुमति नहीं होगी.
अन्य लिनक्स वितरण और डेस्कटॉप के लिए प्रक्रिया काफी हद तक समान होनी चाहिए, क्योंकि अधिकांश सामान्य लिनक्स डेस्कटॉप सत्र प्रबंधक PAM का उपयोग करते हैं। आपको संभवतः उपयुक्त PAM मॉड्यूल को सक्रिय करने के लिए कुछ इसी तरह की एक अलग फ़ाइल को संपादित करना होगा.
यदि आप होम निर्देशिका एन्क्रिप्शन का उपयोग करते हैं
उबंटू के पुराने रिलीज ने एक आसान "होम फोल्डर एन्क्रिप्शन" विकल्प पेश किया, जो आपके पासवर्ड को दर्ज करने तक आपकी संपूर्ण होम डायरेक्टरी को एन्क्रिप्ट करता था। विशेष रूप से, यह ecryptfs का उपयोग करता है। हालाँकि, क्योंकि PAM सॉफ़्टवेयर आपके घर निर्देशिका में डिफ़ॉल्ट रूप से संग्रहीत Google प्रमाणक फ़ाइल पर निर्भर करता है, एन्क्रिप्शन PAM के साथ हस्तक्षेप करता है जब तक आप लॉग इन करने से पहले यह सुनिश्चित नहीं करते कि यह सिस्टम में अनएन्क्रिप्टेड रूप में उपलब्ध है। इस समस्या से बचने के बारे में जानकारी यदि आपका अभी भी पदावनत गृह निर्देशिका एन्क्रिप्शन विकल्पों का उपयोग कर रहा है.
उबंटू के आधुनिक संस्करण इसके बजाय फुल-डिस्क एन्क्रिप्शन की पेशकश करते हैं, जो उपरोक्त विकल्पों के साथ ठीक काम करेगा। आपको कुछ खास करने की जरूरत नहीं है
मदद, इट ब्रोक!
क्योंकि हमने इसे केवल ग्राफ़िकल लॉगिन के लिए सक्षम किया है, इसलिए यदि यह समस्या का कारण बनता है, तो इसे अक्षम करना आसान होना चाहिए। वर्चुअल टर्मिनल तक पहुँचने के लिए Ctrl + Alt + F2 जैसे एक प्रमुख संयोजन को दबाएँ और अपने उपयोगकर्ता नाम और पासवर्ड के साथ लॉग इन करें। तब आप टर्मिनल टेक्स्ट एडिटर में संपादन के लिए फ़ाइल खोलने के लिए sudo nano /etc/pam.d/lightdm जैसी कमांड का उपयोग कर सकते हैं। लाइन को हटाने और फ़ाइल को बचाने के लिए नैनो के लिए हमारे गाइड का उपयोग करें, और आप सामान्य रूप से फिर से लॉग इन करने में सक्षम होंगे.
आप Google प्रमाणक को अन्य प्रकार के लॉगिन के लिए आवश्यक होने के लिए भी बाध्य कर सकते हैं - संभावित रूप से सभी सिस्टम लॉगिन को - "PAM_google_authenticator.so" पंक्ति को अन्य PAM कॉन्फ़िगरेशन फ़ाइलों में जोड़कर। यदि आप ऐसा करते हैं तो सावधान रहें। और याद रखें, आप "nullok" जोड़ना चाह सकते हैं ताकि जो उपयोगकर्ता सेटअप प्रक्रिया से नहीं गुजरे हैं वे अभी भी लॉग इन कर सकें.
इस PAM मॉड्यूल का उपयोग और सेट अप करने के तरीके के बारे में और प्रलेखन GitHub पर सॉफ्टवेयर की README फाइल में पाया जा सकता है.