एक ssh कनेक्शन खोलने के बाद पोर्ट पुनर्निर्देशन कैसे सेटअप करें?


13

मैं क्लाइंट और सर्वर दोनों पर ओपनश का उपयोग कर रहा हूं। मुझे पता है कि मैं ssh पर कुछ पोर्ट रिडायरेक्शन को चला सकता हूं ssh -Lया ssh -Rसेटअप कर सकता हूं । हालाँकि, चूंकि वे कमांड-लाइन पैरामीटर हैं, इसलिए कनेक्शन को खोलने से पहले इस तरह के पुनर्निर्देशन को लिखा जाना चाहिए।

क्या मैं कमांड-लाइन ssh क्लाइंट का उपयोग करके पोर्ट को पुनर्निर्देशित कर सकता हूं?

जब मैंने PuTTYssh क्लाइंट का उपयोग किया , तो मैं अंतःक्रियात्मक रूप से एक पोर्ट रिडायरेक्शन सेटअप कर सकता था, जबकि एक कनेक्शन पहले से ही खोला गया था, बिना ड्रॉपिंग या पुन: कनेक्ट किए बिना, इस प्रकार मुझे पता है कि यह तकनीकी रूप से संभव है।

जवाबों:


24

यदि आप SSH कमांड लाइन का उपयोग कर रहे हैं, और आपने एस्केप कैरेक्टर फीचर को बंद नहीं किया है, तो आप ~Cssh क्लाइंट पर एक मिनी-कंसोल खोलने के लिए एक नई लाइन के बाद टाइप कर सकते हैं । फिर टाइप करें -L port:host:portया -R port:host:portया -D portआप कमांड लाइन पर एक पुनर्निर्देशन जोड़ने के लिए के रूप में, या -KR portएक पुनर्निर्देशन हटाने के लिए।

प्रमाणीकरण को फिर से शुरू किए बिना पुनर्निर्देशन स्थापित करने के लिए एक अधिक लचीली विधि पहले ssh क्लाइंट को एक मास्टर ( -Mया -o ControlMaster=auto) और बाद में क्लाइंट को दास ( -Sया -o ControlMaster=auto) के रूप में शुरू करना है। स्वामी द्वारा स्थापित कनेक्शन के माध्यम से दास सुरंग। आपको ControlPathकमांड लाइन पर या अपने में सेट करने की आवश्यकता हो सकती है ~/.ssh/config; अधिक जानकारी के लिए ssh_configमैन पेज में विकल्पों का वर्णन देखें।


मामले में किसी को भी ~C escape not available to multiplexex sessionsसमस्या है क्योंकि मैंने अभी-अभी किया है, अपने मास्टर कनेक्शन के लिए शिकार न करें। इसके बजाय, -O forwardअपने ssh पोर्ट फॉरवर्डिंग कमांड में जोड़ें, जैसे कि ssh -O forward -nfL 1234:whatever:1234 theserverऔर यह काम करेगा।
पैट्रिक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.