2012-01-10 20 views
14

के पीछे सर्वर से एसएसएच मैं वर्तमान में काम करने की कोशिश कर रहा हूं कि सभी आने वाले कनेक्शनों से इनकार करने वाले फ़ायरवॉल के पीछे सर्वरों को एसएसएच कैसे करें। सर्वर एसएसएच आउट कर सकते हैं, इसलिए मुझे आश्चर्य है कि क्या मेरे वर्कस्टेशन में एसएसएच सुरंग बनाने के लिए फ़ायरवॉल के पीछे सर्वर प्राप्त करने का कोई तरीका है, तो मेरे वर्कस्टेशन को इसके माध्यम से सर्वर पर वापस भेजने की अनुमति दें?फ़ायरवॉल

मैंने सुरंग/रिवर्स सुरंग में देखा है, लेकिन ये बंदरगाह अग्रेषण समाधान प्रतीत होते हैं, जो फ़ायरवॉल सभी बंदरगाहों पर सभी कनेक्शनों से इंकार कर देता है।

आदर्श रूप में, मैं (Net :: SSH मणि का प्रयोग करके) रूबी में यह करने के लिए चाहते हैं, जैसे कि बजाय की तरह एक नया कनेक्शन खोलने की:

Net::SSH.start('host', 'user', :password => "password") 

मैं किसी भी तरह एक मौजूदा सुरंग करने के लिए बाध्य कर सकता है।

धन्यवाद!

उत्तर

25

यदि आपके पास सर्वर पर नियंत्रण है तो यह काफी सरल है। मैं कमांड लाइन संस्करण दे देंगे, और आपको लगता है कि काम कर सकते हैं किसी भी ढांचे आप की तरह में:

server$ ssh -R 9091:localhost:22 client.example.egg 

client$ ssh -p 9091 localhost 

सर्वर क्लाइंट पहले जो "आर" भाव का प्रकट अंत पर सुन शुरू होता है के लिए एक कनेक्शन स्थापित करता है (यानी क्लाइंट) पोर्ट 9 0 9 1 (कुछ जो मैंने अभी बनाया है) पर, और उन कनेक्शनों को localhost:22, यानी स्वयं पर एसएसएच सर्वर पर।

क्लाइंट को बस अपने स्थानीय पोर्ट 90 9 1 से कनेक्ट करने की आवश्यकता है, जिसे पारदर्शी रूप से सर्वर के एसएसएच सर्वर पर अग्रेषित किया जाता है।

यह आम तौर पर आपकी सार्वजनिक कुंजी जांच (और अनुवर्ती सुरक्षा!) के लिए विनाश को खत्म कर देगा, क्योंकि क्लाइंट के एसएसएच क्लाइंट को पता नहीं है कि localhost:9091server:22 जैसा ही है। यदि आपका ग्राहक पुट्टी है, तो आपके पास कहीं "असली" सर्वर नाम प्रदान करने का विकल्प है ताकि क्रेडेंशियल्स को ठीक से देखा जा सके।

+0

क्या ऐसा कोई तरीका है जिससे आप संभवतः वाइल्डकार्ड को स्थानीयहोस्ट आकृति बना सकते हैं। मेरा आईपी पता बदलता है, और मैं हमेशा सर्वर पर ssh करने में सक्षम होना चाहता हूँ। मेरे पास पहले से सेट – MichaelH

+0

@MichaelH सेट किया गया है: मुझे यकीन नहीं है कि मैं समझता हूं। यदि आप एक पीयर के आईपी पते में परिवर्तन करते हैं तो आप टीसीपी कनेक्शन को बनाए नहीं रख सकते हैं ... –

+0

क्या हम इसके माध्यम से http को सुरंग भी कर सकते हैं? – Will

0

जब तक आप मेजबान से एक सुरंग को बना (और बनाए रख सकते हैं) जिसे आप पहले कनेक्ट करने की कोशिश कर रहे हैं (जो आपको उस सुरंग से कनेक्ट करने की अनुमति देगा), आप नहीं कर सकते। फ़ायरवॉल का वह बिंदु है: किसी नेटवर्क पर अनधिकृत पहुंच को रोकें।

हालांकि फ़ायरवॉल को सुरंग को अवरुद्ध नहीं करना चाहिए, हालांकि यह बिल्कुल निर्भर करता है कि सुरंग का प्रबंधन कैसे किया जाता है। ssh's tunneling features का उपयोग करके स्थापित एक पोर्ट-अग्रेषण सुरंग फ़ायरवॉल को विचलित कर देगा। हालांकि यह आपको दूरस्थ नेटवर्क के व्यवस्थापक के साथ भी परेशानी में डाल सकता है।

तो आखिरकार, आपको सुरंग की आवश्यकता के बिना इसे करने के लिए फ़ायरवॉल नियमों को आराम करने के लिए नेटवर्क प्रशासक से बात करने की आवश्यकता होगी, या कम से कम एक सुरंग प्राप्त करने के लिए प्राधिकरण प्राप्त करें।

संबंधित मुद्दे