जहाँ तक मैं बता सकता हूँ, यह WSL में एक बग है। उम्मीद है, Microsoft इसे अगले बिल्ड में ठीक कर देगा। लेकिन अभी के लिए, हम इस थोड़े बदसूरत हैक का उपयोग कर सकते हैं।
# 1 अद्यतन करें : निश्चित रूप से एक बग। गितुब पर यह मुद्दा मिला । यदि आप इस सब से गुजरना नहीं चाहते हैं, तो शेल मेरे लिए फिर से काम करना शुरू करने का प्रस्ताव पेश करता है।
TL, DR इसे अपने SSH कॉन्फ़िगरेशन (आमतौर पर स्थित ~/.ssh/config
) END में जोड़ें :
Host *
ProxyCommand nc %h %p %r
यहाँ कारण है कि यह काम करता है: हमारे SSH मुद्दा है क्योंकि एक फ़ायरवॉल मुद्दा नहीं है nc
और telnet
एक ही मेजबान और बंदरगाह (कोशिश करने के लिए काम telnet <host> <port>
या nc <host> <port>
: आप की तरह कुछ देखना चाहिए SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.7
)। यह हम अपने लाभ के लिए उपयोग कर सकते हैं।
एसएसएच उन प्रॉक्सी के उपयोग की अनुमति देता है जो मानक इनपुट लेते हैं और इसे ProxyCommand
विकल्प के माध्यम से सर्वर के पोर्ट पर भेजते हैं । यह आमतौर पर नेटवर्क में सुरंगों का उपयोग एक सुरक्षित होस्ट के बीच एक इन-हाउसिंग एसएसएच सर्वर का उपयोग करके किया जाता है, जिसे कभी-कभी जंप होस्ट भी कहा जाता है ( अधिक जानकारी के लिए इस लिंक को देखें )।
यह हैक SSH को बिना जम्प होस्ट (ओं) के साथ प्रॉक्सी का उपयोग करने के लिए कहता है। तो, यह एसएससीएच के नेटकोक पर नेटवर्क संसाधन आवंटन के सभी पुश करके टीसीपी संसाधनों के असफल आवंटन के आसपास हो जाता है, जो काम करता है। SSH बिना किसी नेटवर्क कनेक्शन के बस SSH की बात करता है, और Netcat एक टीसीपी कनेक्शन पर कच्चा डेटा SSH सर्वर को भेजता है।
चेतावनी: चूंकि यह ProxyCommand
सभी मेजबानों के लिए संशोधित करता है, मुझे नहीं पता कि यह अन्य एसएसएच कॉन्फ़िगरेशन होस्ट के साथ कैसे उपयोग करता है ProxyCommand
। मेरे पास कुछ सर्वर हैं जिनके साथ मैं इसका परीक्षण कर सकता हूं, और मैं परिणामों के साथ इस उत्तर को अपडेट करूंगा। एक मौका है कि कोई हानिकारक दुष्प्रभाव नहीं हैं, लेकिन मैं इसकी गारंटी नहीं दे सकता।
# 2 अद्यतन करें: मैंने अपने कुछ सर्वरों के साथ कुछ परीक्षण किया, और यह काम करता है। जब एकाधिक प्रविष्टियाँ लागू होती हैं तो SSH अपरिपक्व प्रविष्टि का उपयोग करता है। इस प्रकार, ProxyCommand
इस हैक के ऊपर मौजूद एक वर्तमान इसे ओवरराइड करेगा। जब नए SSH कमांड को निष्पादित किया जाता है, तो यह SSH कॉन्फिगर को फिर से पढ़ता है, और यदि कोई अन्य नहीं है ProxyCommand
, तो SSH हमारी हैक का उपयोग करता है ProxyCommand
, यह केवल "सबसे बाहरी" SSH सत्र में लागू करने की अनुमति देता है। चेतावनी का शब्द: यदि आप हैक को कॉन्फिग फ़ाइल के शीर्ष पर (या प्रविष्टि जिसे आप SSH के लिए प्रयास कर रहे हैं) के ऊपर रखते हैं, तो SSH सत्रों ProxyCommand
को दूसरे की उपेक्षा करने की आवश्यकता होगी ProxyCommand
और इसके बजाय होस्ट के पते को हल करने और कनेक्ट करने का प्रयास करना होगा सीधे नेटकट के साथ।