एक ही प्रोफ़ाइल, दो सत्र: यह डेस्कटॉप से जुड़ती है और SSH पर ऐसे प्रॉम्प्ट पर अटक जाती है जिसका कोई उत्तर नहीं दे सकता। कुछ भी टूटा नहीं है और कोई सेटिंग खोई नहीं है। NetworkManager क्रेडेंशियल के लिए सीक्रेट एजेंट से पूछ रहा है, और सीक्रेट एजेंट एक डेस्कटॉप घटक है जो आपके द्वारा उपयोग किए जा रहे सत्र में मौजूद नहीं है।

नीचे दिया गया क्रम चलाएँ और टनल बिना ग्राफ़िकल इंटरफ़ेस के ऊपर आ जाएगी, इस चेतावनी के साथ कि रहस्य संग्रहीत करना बदल देता है कि वह प्रोफ़ाइल कौन इस्तेमाल कर सकता है।

कुछ भी बदलने से पहले निदान की पुष्टि करें

इंटरैक्टिव और गैर-इंटरैक्टिव सक्रियण के बीच का अंतर ही पूरा निदान है। अगर nmcli --ask connection up सफल होता है जबकि सामान्य सक्रियण अटक जाता है, तो प्रोफ़ाइल सही है और रहस्य का स्रोत गायब है। वह एक तुलना आपको काम कर रहे कॉन्फ़िगरेशन को फिर से लिखने से बचाती है।

nmcli -f NAME,UUID,TYPE connection show
nmcli connection show "Office IPsec" | grep -i flags

फ़्लैग पढ़ें, उनका अनुमान न लगाएँ। "एजेंट से पूछें" का अर्थ देने वाले मान वही हैं जो आप खोज रहे हैं, और सटीक कुंजी नाम VPN प्लगइन के बीच भिन्न होते हैं क्योंकि वे प्लगइन के अपने डेटा शब्दकोश में रहते हैं। FortiSSL प्रोफ़ाइल और IPsec प्रोफ़ाइल ज़रूरी नहीं कि एक ही नाम इस्तेमाल करें, इसलिए अपनी ही प्रोफ़ाइल के आउटपुट से काम करें।

यह भी पुष्टि करें कि उस प्रोटोकॉल का प्लगइन पैकेज इंस्टॉल है। गायब प्लगइन अज्ञात कनेक्शन प्रकार या ऐसी सक्रियण त्रुटि के रूप में दिखता है जो पासवर्ड के बारे में कुछ नहीं कहती, और उस स्थिति में रहस्य के पीछे भागना वही घंटा दो बार बर्बाद करता है। एक पैकेज क्वेरी कीफ़ाइलें संपादित करने की पूरी दोपहर से सस्ती है।

रहस्य को कीफ़ाइल में ले जाएँ

कनेक्शन फ़ाइल /etc/NetworkManager/system-connections/ के अंतर्गत रहती है। रहस्य वहाँ डिफ़ॉल्ट रूप से नहीं रखे जाते, और यही उन फ़्लैग का मतलब है जो आपने अभी पढ़े। फ़्लैग को शून्य करना NetworkManager को बताता है कि मान प्रोफ़ाइल के साथ संग्रहीत है, सक्रियण के समय माँगा नहीं जाता।

[vpn]
password-flags=0

[vpn-secrets]
password=YOUR-VPN-PASSWORD

दो रहस्यों वाली प्रोफ़ाइल के लिए पैटर्न दोहराता है: [vpn] अनुभाग में हर रहस्य के लिए एक फ़्लैग, और मान [vpn-secrets] में। IPsec प्रोफ़ाइल आमतौर पर उपयोगकर्ता क्रेडेंशियल के साथ पूर्व-साझा कुंजी रखती है, और प्लगइन उन्हें सामान्य पासवर्ड फ़ील्ड से अलग नाम देता है, इसलिए कुंजी नाम vpn.data आउटपुट से कॉपी करें, किसी ऐसे ब्लॉग पोस्ट से नहीं जिसने कोई और प्लगइन इस्तेमाल किया हो। एक गलत कुंजी नाम ऐसी प्रोफ़ाइल बनाता है जो लोड होती है और फिर प्रमाणीकरण में विफल हो जाती है, जो बिल्कुल गलत पासवर्ड जैसा पढ़ा जाता है। दोबारा जुड़ने से पहले अपनी फ़ाइल की तुलना उसी प्लगइन की काम कर रही प्रोफ़ाइल से करें।

ऐसे मानों को उद्धरण में रखें जिनमें रिक्त स्थान, उद्धरण चिह्न या डॉलर चिह्न हों। $ वाला बिना उद्धरण का मान जहाँ वह पार्स होता है उसके अनुसार शब्दशः पढ़ा जाएगा या विस्तारित होगा, और परिणामी प्रमाणीकरण विफलता गलत पासवर्ड जैसी दिखती है।

फिर फ़ाइल का स्वामित्व और मोड ठीक करें। ये कीफ़ाइलें एक विशेषाधिकार प्राप्त सेवा पढ़ती है, और ऐसी फ़ाइल जिसे दूसरे उपयोगकर्ता पढ़ सकें अविश्वसनीय मानी जाती है, जो संपादित प्रोफ़ाइल के अनदेखा दिखने का सामान्य कारण है। स्वामी root, मोड 600, कोई अपवाद नहीं।

फिर से लोड करें, फिर सक्रिय करें

फ़ाइल तब पढ़ी जाती है जब कनेक्शन लोड होता है, इसलिए उसे संपादित करना पर्याप्त नहीं है। प्रोफ़ाइल फिर से लोड करें और फिर कनेक्शन को स्पष्ट रूप से ऊपर उठाएँ।

sudo nmcli connection reload
sudo nmcli connection up "Office IPsec"

अगर फिर से लोड करना बदलाव नहीं उठाता, तो सेवा का पूरा पुनः आरंभ उठा लेता है, और ठीक ऐसा ही होने की रिपोर्टें हैं। जब दूसरे लिंक मायने रखते हों तो फिर से लोड करने को प्राथमिकता दें, क्योंकि सेवा का पुनः आरंभ हर प्रबंधित कनेक्शन को तोड़ देता है, और दूरस्थ होस्ट पर यह आपके सत्र को उस टनल के ऊपर आने से पहले समाप्त कर सकता है जो आप चाहते थे।

जब नाम अस्पष्ट हों तो UUID का उपयोग करें। कई ग्राहक प्रोफ़ाइल वाली मशीनों में लगभग-प्रतिलिपियाँ जमा होती हैं, और गलत को सक्रिय करने से ऐसी विफलता होती है जो क्रेडेंशियल समस्या जैसी लगती है।

जब संग्रहीत रहस्य समस्या न हो

FortiSSL प्रोफ़ाइल सही संग्रहीत क्रेडेंशियल के साथ भी विफल हो सकती है क्योंकि क्लाइंट गेटवे के प्रमाणपत्र पर कभी भरोसा नहीं करता। वह सेटिंग मुख्य संवाद में नहीं है; यह VPN के उन्नत विकल्पों के पीछे है, जहाँ विश्वसनीय प्रमाणपत्र का डाइजेस्ट दर्ज किया जाता है। अगर लॉग पासवर्ड के बजाय प्रमाणपत्र का ज़िक्र करे, तो आप इसी शाखा में हैं और [vpn-secrets] को संपादित करने की कोई मात्रा मदद नहीं करेगी।

यहाँ दो और जाँचें आती हैं। पुष्टि करें कि प्रोफ़ाइल ऐसी फ़ाइल से आयात नहीं हुई जो अभी भी ऐसे पथ की ओर इशारा करती है जिसे प्लगइन पढ़ नहीं सकता, और पुष्टि करें कि प्रोफ़ाइल सक्रिय है, पुरानी प्रतिलिपि नहीं। दोनों ऐसी सक्रियण विफलताएँ देती हैं जो प्रमाणीकरण त्रुटियों जैसी पढ़ी जाती हैं।

तय करें कि संग्रह स्वीकार्य है या नहीं

संग्रहीत PSK और पासवर्ड उस मशीन पर root के रूप में चलने वाली हर चीज़ के लिए पढ़ने योग्य हैं। जिस बॉक्स को आप नियंत्रित करते हैं, उस पर बिना ग्राफ़िकल इंटरफ़ेस वाली सेवा के लिए यह उचित सौदा है। साझा होस्ट पर यह बातचीत के योग्य है, क्योंकि प्रोफ़ाइल में अब ऐसा क्रेडेंशियल है जो पहले डेस्कटॉप की-रिंग से सुरक्षित था। तय करने से पहले पूछें कि उस होस्ट पर root तक और कौन पहुँच सकता है, बदलाव लागू होने के बाद नहीं।

अगर नीति संग्रहीत VPN रहस्यों को मना करती है, तो cron कार्य चलाने के लिए प्रोफ़ाइल को कमज़ोर न करें। कनेक्शन ऐसे सत्र से चलाएँ जिसमें एजेंट हो, या ऑटोमेशन के लिए कोई दूसरा तंत्र इस्तेमाल करें।

अंत में, नोट करें कि कौन-सी प्रोफ़ाइलें रहस्य रखती हैं ताकि कोई बिना ध्यान दिए एक को लैपटॉप पर कॉपी न कर दे। तारीख और कारण के साथ रहस्य अनुभाग के ऊपर एक टिप्पणी पर्याप्त है, और यह किसी को बाद में एक असहज समीक्षा से बचाएगी।

संबंधित लेख