क्या मानक ssh- प्रोग्राम के साथ ssh सुरंग के माध्यम से https ट्रैफ़िक को टनल करना संभव है?


12

क्या मैं ssh-tunnel के माध्यम से https ट्रैफ़िक (a svn repository) का पुन: मिलान कर सकता हूँ।

समस्या यह है कि अगर मैं सिर्फ एक सुरंग बनाने के लिए https का उपयोग करने वाली सेवाओं जैसे उदाहरण के लिए सुनने के लिए काम नहीं करता है:

ssh -L 12345:server.com:443 localhost

क्या मुझे कुछ और करना है? इसका उद्देश्य https://PROJECT.googlecode.com/svn/ है जहाँ परियोजना परियोजना का नाम है।

जवाबों:


12

HTTPS कनेक्शन को SSH पोर्ट फ़ॉरवर्डिंग के माध्यम से रीडायरेक्ट किया जा सकता है - हालाँकि SSL / TLS प्रमाणपत्र सत्यापन ऐसे मामलों में विफल हो जाएगा जब होस्ट नाम से मेल नहीं खाता:

आप https: // localhost: 12345 से कनेक्ट हो रहे हैं, लेकिन सर्वर सर्टिफिकेट में server.com नाम है।

HTTPS कनेक्शन को सीधे फॉरवर्ड करने के बजाय आप जिस SSH कनेक्शन को खोल रहे हैं उस दूरस्थ कंप्यूटर पर एक HTTP (s) / SOCKS प्रॉक्सी चलाएगा। फिर उस प्रोग्राम को सेट अप करें जिसे आप पोर्ट प्रॉक्सी के माध्यम से इस प्रॉक्सी का उपयोग करने के लिए सुरंग बनाना चाहते हैं। यह एक साफ समाधान होगा।

अद्यतन: ऐसा लगता है जैसे SVN HTTP प्रॉक्सी का उपयोग कर सकता है लेकिन SOCKS प्रॉक्सी का नहीं। यदि आप ऐसा करना चाहते हैं, तो आपको अपने स्थानीय सिस्टम पर एक अतिरिक्त "मोज़ा" की आवश्यकता है। Serverfault.com देखें : मैं ssh सुरंग के साथ तोड़फोड़ के लिए प्रॉक्सी कैसे सेट कर सकता हूं?


क्या मैं वास्तव में इस तरह के दृष्टिकोण का उपयोग कर सकता हूं: dltj.org/article/ssh-as-socks-proxy ? तो googlecode मामले में, मेरे पास एक स्थानीय-कंप्यूटर होगा -> मोज़े-कंप्यूटर -> googlecode। और यह "ssh -D" स्थानीय कंप्यूटर पर चलाया जाएगा: ssh -D 12345 [उपयोगकर्ता नाम] @ [मोज़े-कंप्यूटर]। अब मुझे svn को स्थानीय-कंप्यूटर पर प्रॉक्सी का उपयोग करने के लिए कहना है: 12345। क्या मुझे कुछ और चाहिए?
जूहा

कूल, मुझे नहीं पता था कि ओपनएसएसएच में पहले से ही एक सॉक्स प्रॉक्सी शामिल है। मेरा अद्यतन उत्तर भी देखें।
राबर्ट

6
आप दूरस्थ होस्ट को IP पते 127.0.0.1 के साथ दूरस्थ होस्ट जोड़कर HTTPS प्रमाणपत्र समस्या के आसपास प्राप्त कर सकते हैं। तब आप वास्तव में रिमोटहॉस्ट: 12345 पते का उपयोग कर सकते हैं लेकिन ट्रैफिक को एसएसएच सुरंग के लिए निर्देशित किया जाएगा।
जूहा पालोमाकी

@ JuhaPalomäki आपको इसे उत्तर के रूप में जोड़ना चाहिए
elhefe

1

SSH सुरंग के साथ दूरस्थ सर्वर तक पहुँचने के दौरान प्रमाणपत्र DNS बेमेल समस्या के आसपास काम करने में सक्षम होने के लिए, मैंने निम्नलिखित कार्य किया:

  1. पोटीन में एक SSH सुरंग को कॉन्फ़िगर करें ताकि स्थानीय पोर्ट 443 दूरस्थ सर्वर के लिए आगे की ओर ट्रैफ़िक हो (L443 : <remote.server.com>:443 )
  2. C:\Windows\System32\drivers\etc\hostsप्रविष्टि जैसे जोड़ने के लिए फ़ाइल अपडेट करें127.0.0.1 <remote.server.com>
  3. यदि आप HTTP प्रॉक्सी सर्वर का उपयोग कर रहे हैं (उदाहरण के लिए यदि आप कॉर्पोरेट प्रॉक्सी से काम कर रहे हैं), तो <remote.server.com>सिस्टम प्रॉक्सी से होस्ट को बायपास करें
  4. अब आप दूरस्थ सर्वर URL को एक्सेस कर सकते हैं https://<remote.server.com>
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.