पहले मैच पर ssh config बंद करो


18

मेरे पास अपने .ssh कॉन्फ़िगरेशन में मेरे सभी होस्ट के लिए एक स्थानीय प्रॉक्सी है, हालाँकि मैं प्रॉक्सी कमांड के बिना अपने स्थानीय vm में खोलना चाहता हूं। मेरे ssh प्रयास का आउटपुट:

debug1: /Users/bbarbour/.ssh/config line 1: Applying options for local.dev
debug1: /Users/bbarbour/.ssh/config line 65: Applying options for *

निम्नलिखित ssh कॉन्फ़िगरेशन को देखते हुए मैं ProxyCommand को local.dev प्रविष्टि पर लागू होने से कैसे रोकूँ?

Host local.dev
    HostName dev.myserver.com
    User developer
...
Host *
    ProxyCommand /usr/local/bin/corkscrew 127.0.0.1 8840 %h %p

जवाबों:


22

आप !इसका उपयोग करके ProxyCommand से local.dev को बाहर कर सकते हैं :

Host * !local.dev
    ProxyCommand /usr/local/bin/corkscrew 127.0.0.1 8840 %h %p

से ssh_config प्रलेखन:

यदि एक से अधिक पैटर्न प्रदान किए जाते हैं, तो उन्हें व्हाट्सएप द्वारा अलग किया जाना चाहिए।

एक पैटर्न प्रविष्टि को विस्मयादिबोधक चिह्न (`! ') के साथ उपसर्ग करके उपेक्षित किया जा सकता है । यदि एक नकारात्मक प्रविष्टि का मिलान किया जाता है, तो होस्ट प्रविष्टि को अनदेखा कर दिया जाता है, भले ही लाइन मैच पर कोई अन्य पैटर्न हो। इसलिए वाइल्डकार्ड मैचों के लिए अपवाद प्रदान करने के लिए नकारात्मक मैच उपयोगी होते हैं।

प्रलेखन ने यह भी कहा:

प्रत्येक पैरामीटर के लिए, पहले प्राप्त मूल्य का उपयोग किया जाएगा । कॉन्फ़िगरेशन फ़ाइलों में `` होस्ट '' विनिर्देशों द्वारा अलग किए गए अनुभाग होते हैं, और यह अनुभाग केवल उन होस्ट के लिए लागू होता है जो विनिर्देश में दिए गए पैटर्न में से एक से मेल खाते हैं। मिलान किए गए होस्ट नाम को कमांड लाइन पर दिया गया है।

तो, आप ProxyCommand को local.dev के लिए अक्षम कर सकते हैं जिसे आपने परिभाषित किया है Host *:

Host local.dev
    HostName dev.myserver.com
    User developer
    ProxyCommand none

8

कॉन्फ़िगरेशन फ़ाइल में एक विकल्प पहली बार मेल खाने पर लागू होता है। चूंकि आपके पास होस्ट प्रविष्टि में कोई प्रॉक्सीकोड नहीं है, इसलिए आपकी *प्रविष्टि का उपयोग किया जाएगा।

इसको प्राप्त करने के दो तरीके हैं:

  • मेजबानों के लिए जहां आप प्रॉक्सी कमांड का उपयोग नहीं करना चाहते हैं, बस लाइन जोड़ें
    ProxyCommand कोई नहीं
  • के लिए *प्रवेश, टिप्पणी विशेष रूप से है कि प्रवेश की मेजबानी के लिए लागू नहीं करना चाहिए local.devएक साथ यह negating द्वारा!
    होस्ट! स्थानीय .देव *

कई मेजबानों का उपयोग अंतरिक्ष को अलग करने के लिए। अल्पविराम (,) ने मेरे लिए काम नहीं किया। डिस्ट्रीब्यूटर आईडी: उबंटू विवरण: उबंटू १ Release.१० रिलीज़: १en.१० कोडनाम: आर्टफुल
अरुणा

धन्यवाद @ArunaFromLK - मुझे विश्वास नहीं हो रहा है कि मैं चूक गया, और किसी और ने इसे 3,5 वर्षों में नहीं देखा है! मैंने अब जवाब अपडेट कर दिया है।
जेनी डी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.