मैं गेटवेपॉर्ट्स सक्षम होने के बावजूद दूरस्थ रूप से एक रिवर्स एसएसएच सुरंग पोर्ट से कनेक्ट क्यों नहीं कर सकता हूं?


20

मुझे हमारे विभाग में एक मेजबान के लिए निरंतर एसएसएच एक्सेस की आवश्यकता है, जिसका आईपी पता गतिशील रूप से आवंटित किया गया है। मैंने अपने होस्ट में से किसी एक मेजबान को एक दूरस्थ SSH टनल स्थापित किया है जो एक स्थिर आईपी एड्रेस देता है:

ssh -f -N -g -R :22223:localhost:22 tunnelhost

जब मैं 22223सुरंग के मेजबान पर स्थानीय बंदरगाह पर एसएसएच को इंगित करता हूं , तो सुरंग ठीक काम करती है। मेरी समस्या यह है कि मैं सुरंग को लोकलहोस्ट के अलावा और किसी चीज़ से बंधे हुए नहीं जान सकता, हालाँकि - जब मैं दूर से एसएसएच करने की कोशिश करता हूँ tunnelhost:12323, तो इसे प्राप्त करने के लिए कोई खुला पोर्ट नहीं है। मैंने भी कोशिश की है:

ssh -f -N -R :22223:localhost:22 tunnelhost -o GatewayPorts=yes

लेकिन फिर भी नसीब नहीं हुआ। Netstat मुझे दिखाता है:

[me@tunnel_host ~]$ netstat -an | grep 22223
tcp        0      0 127.0.0.1:22223         0.0.0.0:*               LISTEN
tcp6       0      0 ::1:22223               :::*                    LISTEN

यह पुष्टि करते हुए कि सुरंग केवल लोकलहोस्ट के लिए बाध्य है। मैंने फायरलाइन-सीएमडी के साथ सुरंग होस्ट पर एक पोर्ट अपवाद जोड़ा है, और यह सुनिश्चित किया कि कोई नेटवर्क हार्डवेयर कनेक्शन के साथ हस्तक्षेप नहीं कर रहा है। किसी भी विचार के रूप में यह क्या हो सकता है?

चीयर्स, जेम्स।

जवाबों:


29

आपको दूरस्थ बंदरगाहों पर लूपबैक के अलावा अन्य इंटरफेस को GatewayPorts=yesबाइंड करने में सक्षम करने के लिए SSHd ( /etc/ssh/sshd_config) के लिए कॉन्फ़िगर करने में सक्षम होना चाहिए।

-o GatewayPorts=yes

sshकमांड में पास होने पर केवल स्थानीय पोर्ट के लिए काम करता है ।


डार्थ Android, आपके उत्तर के लिए धन्यवाद। ऐसा लगता है कि आप सही -g और -o GatewayPorts केवल (-L) ocal सुरंगों के लिए काम कर रहे हैं। पूर्णता की खातिर, यहां इस मुद्दे के बारे में थोड़ी और जानकारी है, अगर भविष्य में कोई और इसमें भाग लेता है। Bugs.debian.org/cgi-bin/bugreport.cgi?bug=228064
जेम्स पॉल टर्नर

3
GatewayPorts=clientspecifiedकुछ अधिक सुरक्षित सेटिंग है, Askubuntu.com/questions/50064/reverse-port-tunnelling देखें । इस स्थिति में, खाली बाइंड पता (कॉलिंग कॉलन इन :22223:localhost:2) आवश्यक है।
माइकल गोएरज

1
मेरा तर्क है कि GatewayPorts=clientspecifiedसेटिंग स्वयं अधिक सुरक्षित नहीं है, लेकिन यह अधिक नियंत्रण के लिए अनुमति देता है, जिस पर कनेक्शन वाइल्डकार्ड के लिए बाध्य होंगे, या केवल उन सभी को वाइल्डकार्ड के लिए बाध्य किया जाएगा।
निक

इसके अलावा, sshd_config (यदि आप भूल जाते हैं) को संशोधित करने के बाद sshd को पुनरारंभ करें
Nick

Will ध्यान रखें कि GatewayPorts=yesदुनिया के लिए अग्रेषित बंदरगाहों को खोल देगा।
ccpizza
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.