दो SSH उपनाम, एक सर्वर: सीधा VPN या जंप होस्ट
एक स्वीकृत VPN पथ और एक स्वीकृत बास्टियन पथ को अलग उपनाम और बुकमार्क के रूप में रखें, ताकि किसी शॉर्टकट को यह अनुमान न लगाना पड़े कि कौन-सा मार्ग अधिकृत है।
वही निजी सर्वर एक स्वीकृत VPN से और एक स्वीकृत बास्टियन से जवाब देता है, और आप अनुमान लगाने वाले शॉर्टकट के बजाय हर एक के लिए एक Emacs बुकमार्क चाहते हैं। निर्णय यह नहीं है कि कौन-सा पथ बेहतर है; निर्णय यह है कि आपके सामने के काम के लिए कौन-सा पथ अधिकृत है। दोनों को स्पष्ट रखें, उनके अलग नाम दें, और फ़ाइल का नाम बताए कि आपने किसे चुना।
पहली शर्त: कौन-से पथ स्वीकृत हैं?
जंप होस्ट VPN की आवश्यकता का स्वतः विकल्प नहीं है, और VPN स्वीकृत बास्टियन को छोड़ने का लाइसेंस नहीं है। पूछें कि आपके खाते और इस डेटा के लिए कौन-से मार्ग अधिकृत हैं। यदि दोनों अधिकृत हैं तो आपके पास विकल्प है; यदि केवल एक, तो बुकमार्क सेट में एक प्रविष्टि है। वह उत्तर डेटा के मालिक से आता है, आज संयोग से काम करने वाले मार्ग से नहीं।
उत्तर लिख लें, क्योंकि किसी घटना के दौरान यह अंतर जल्दी मिट जाता है।
दोनों पथों को अपना खाता और पहचान कॉन्फ़िगरेशन भी चाहिए। एक मार्ग पर काम करने वाला साझा उपनाम दूसरे पर उन कारणों से विफल हो सकता है जिनका नेटवर्क से कोई संबंध नहीं है।
दूसरी शर्त: क्या आप हर पथ को अलग-अलग नाम दे सकते हैं?
एक SSH कॉन्फ़िगरेशन एक पते के लिए दो होस्ट उपनाम रख सकता है, हर एक अलग प्रॉक्सी व्यवहार के साथ। विशिष्ट ब्लॉकों को किसी भी व्यापक वाइल्डकार्ड से पहले रखें, क्योंकि ज़्यादातर विकल्पों के लिए पहला प्राप्त मान जीतता है।
Host proj-direct proj-bastion
HostName 10.60.0.21
User analyst
ControlPath none
Host proj-direct
ProxyJump none
Host proj-bastion
ProxyJump gw.example.com
ऊपर का पता एक उदाहरण है; इसे उस पते से बदलें जिसे आपकी टीम दस्तावेज़ करती है। जंप उपनाम को बास्टियन का स्वीकृत खाता भी चाहिए, जिसका अर्थ आम तौर पर बास्टियन के लिए ही दूसरा Host ब्लॉक है। यहाँ कनेक्शन साझाकरण बंद करना पथ तुलना को ईमानदार रखता है, क्योंकि पुनः उपयोग किया गया मल्टीप्लेक्स कनेक्शन उस मार्ग परिवर्तन से अधिक जी सकता है जिसे आप देखना चाहते हैं।
तब दूरस्थ फ़ाइल नाम अलग और पठनीय रहते हैं।
/ssh:proj-direct:/srv/project/README.md
/ssh:proj-bastion:/srv/project/README.md
तीसरी शर्त: क्या एडिटर अंतर जानता है?
TRAMP उन दो फ़ाइल नामों को अलग गंतव्य मानता है, जो ठीक वही है जो आप चाहते हैं। हर एक को ऐसे नाम के तहत बुकमार्क करें जो बताए कि वह कौन-सा पथ इस्तेमाल करता है, और एक गंतव्य का अर्थ बदलने के बजाय बुकमार्क फिर से खोलें। दो बुकमार्क तुलना को भी दृश्य बनाते हैं: आप दोनों खोलकर देख सकते हैं कि कौन-सा विफल होता है, बिना कोई कॉन्फ़िगरेशन बदले।
ProxyJump शामिल होने पर एक सेटिंग ध्यान देने योग्य है: संबंधित कनेक्शनों के लिए TRAMP का कनेक्शन साझाकरण बंद होना चाहिए, इसलिए उन्हें खोलने से पहले tramp-use-connection-share को nil पर सेट करें। यह एक अनुकूलता सेटिंग है, किसी गुम मार्ग का समाधान नहीं, और यह अनधिकृत पथ को अधिकृत नहीं बनाती। TRAMP के सामान्य प्रश्न बुकमार्क को इन नामों को छोटा करने का समर्थित तरीका बताते हैं।
चुपचाप मार्ग बदलने वाला बुकमार्क बिल्कुल बुकमार्क न होने से भी बुरा है।
नेटवर्क आइकन कुछ साबित क्यों नहीं करता
NetworkManager का समग्र स्थिति मान 70 का अर्थ है कि मशीन में वैश्विक कनेक्टिविटी है। यह किसी VPN प्रोफ़ाइल का नाम नहीं बताता, और साधारण Wi-Fi इसे संतुष्ट कर देता है। केवल-निजी सुरंग जो ठीक वही मार्ग ले जाती है जिसकी आपको ज़रूरत है, उस समग्र मान को अछूता छोड़ सकती है। इसीलिए आइकन से जुड़ा शॉर्टकट ऐसे पथ के लिए तैयारी की सूचना दे सकता है जिसे उसने कभी परखा ही नहीं।
वैश्विक स्थिति के बजाय विशिष्ट कनेक्शन की स्थिति पढ़ें।
यदि आप कुछ स्वचालित करते हैं, तो नामित कनेक्शन से पूछें, फिर उसी क्रम में लक्ष्य मार्ग, रिज़ॉल्वर का उत्तर और SSH पहुँच जाँचें। इनमें से हर एक विफल हो सकता है जबकि पिछला सफल हो, और इन्हें एक ही बूलियन में समेटना ही वह तरीका है जिससे स्वचालन ऐसे पथ के लिए सफलता की रिपोर्ट करता है जिसका उसने कभी उपयोग नहीं किया।
जब कोई पथ काम करना बंद कर दे तो क्या करें
जाँच से पहले अपने बफ़र सहेजें, क्योंकि मौजूदा TRAMP सत्र मार्ग परिवर्तन से अधिक जी सकता है और फिर अगली बार लिखते समय विफल हो सकता है। इसे समर्थित सफ़ाई के ज़रिए बंद करें, बुकमार्क फिर से खोलें, और सर्वर के बंद होने का अनुमान लगाने के बजाय दोनों पथों की तुलना करें।
बास्टियन और गंतव्य दोनों के लिए होस्ट-की सत्यापन चालू रखें।
अलग मार्ग आपको ऐसी सर्वर कुंजी स्वीकार करने का अधिकार नहीं देता जिसकी आपको अपेक्षा नहीं थी, और यह अनधिकृत पथ को स्वीकार्य भी नहीं बनाता। दोनों उस निर्णय से अलग निर्णय हैं जो आप ले रहे थे।