localhost
पोर्ट 8000 पर दूरस्थ होस्ट के लिए आपके स्थानीय मशीन ( ) से पोर्ट 80 को अग्रेषित करने की कमान है:
ssh -R 8000:localhost:80 oli@remote-machine
इसके लिए SSH सर्वर पर एक अतिरिक्त ट्विस्ट की आवश्यकता होती है, लाइनों को इसमें जोड़ें /etc/ssh/sshd_config
:
Match User oli
GatewayPorts yes
इसके बाद, सर्वर निष्पादित करके कॉन्फ़िगरेशन को फिर से लोड करें sudo reload ssh
।
सेटिंग GatewayPorts yes
वाइल्डकार्ड पते पर पोर्ट 8000 को बाँधने के लिए SSH का कारण बनता है, इसलिए यह remote-machine
( remote-machine:8000
) के सार्वजनिक पते पर उपलब्ध हो जाता है ।
यदि आपको वाइल्डकार्ड पते पर सब कुछ बाध्यकारी नहीं करने का विकल्प है, तो बदल GatewayPorts yes
दें GatewayPorts clientspecified
। क्योंकि ssh
डिफ़ॉल्ट रूप से लूपबैक पते पर बांधता है, आपको bind_address
वाइल्डकार्ड पते को बाइंड करने के लिए एक खाली निर्दिष्ट करने की आवश्यकता होती है :
ssh -R :8000:localhost:80 oli@remote-machine
:
पहले 8000
अनिवार्य करता है, तो है GatewayPorts
पर सेट है clientspecified
और आप के लिए सार्वजनिक उपयोग की अनुमति देना चाहते remote-machine:8000
।
प्रासंगिक मैनुअल अंश:
ssh (1)
-R [bind_address:] port: host: hostport यह
निर्दिष्ट करता है कि रिमोट (सर्वर) होस्ट पर दिए गए पोर्ट को दिए गए होस्ट और पोर्ट को स्थानीय तरफ भेजा जाना है। यह रिमोट साइड पर पोर्ट को सुनने के लिए सॉकेट आवंटित करके काम करता है, और जब भी इस पोर्ट से कनेक्शन बनाया जाता है, तो कनेक्शन को सुरक्षित चैनल पर अग्रेषित किया जाता है, और स्थानीय मशीन से पोर्ट होस्टपोर्ट होस्ट करने के लिए कनेक्शन बनाया जाता है। डिफ़ॉल्ट रूप से, सर्वर पर सुनने वाला सॉकेट केवल लूपबैक इंटरफ़ेस के लिए बाध्य होगा। इसे एक bind_address निर्दिष्ट करके ओवरराइड किया जा सकता है। एक खाली bind_address, या '*' पता, इंगित करता है कि रिमोट सॉकेट को सभी इंटरफेस पर सुनना चाहिए। दूरस्थ bind_address निर्दिष्ट करना केवल तभी सफल होगा जब सर्वर का GatewayPorts विकल्प सक्षम हो (sshd_config (5) देखें)।
sshd_config (5)
GatewayPorts
निर्दिष्ट करता है कि दूरस्थ होस्ट को क्लाइंट के लिए अग्रेषित पोर्ट से कनेक्ट करने की अनुमति है या नहीं। गेटवेपोर्ट्स का उपयोग यह निर्दिष्ट करने के लिए किया जा सकता है कि sshd को दूरस्थ पोर्ट अग्रेषण को गैर-लूपबैक पतों पर बाँधने की अनुमति देनी चाहिए, इस प्रकार अन्य होस्ट को कनेक्ट करने की अनुमति मिलती है। दूरस्थ होस्ट के लिए उपलब्ध पोर्ट बल को अग्रेषित करने के लिए तर्क 'नहीं' हो सकता है, वाइल्डकार्ड पते पर बाँधने के लिए रिमोट पोर्ट फ़ॉरवर्डिंग के लिए बाध्य करने के लिए 'हाँ' या क्लाइंट को उस पते का चयन करने की अनुमति देने के लिए 'क्लासिफ़ीकाइज्ड' अग्रेषण बाध्य है। डिफ़ॉल्ट 'नहीं' है।
यह सभी देखें:
GatewayPorts
यहाँ जादू की गोली थी। मुझे पसंद है कि आपको एक ऐसा संस्करण मिला है जो मुझे कुछ उपयोगकर्ताओं के लिए इस शक्तिशाली तकनीक को सीमित करने की अनुमति दे सकता है।