एसएसएच सुरंगों को समझना


15

मेरे पास linux (Ubuntu) सर्वर है जिसकी रूट एक्सेस केवल ssh (पोर्ट 22) के माध्यम से है। उस सर्वर पर पोर्ट 3306 पर एक MySQL डेटाबेस सुनने को मिल रहा है। क्या मेरी मशीन पर स्थानीय पोर्ट से सुरंग बनाने के लिए पोटीन (मेरी मशीन पर) और टनलिंग (लाइनक्स मशीन पर) का उपयोग करना संभव है (कहते हैं 4000), पोर्ट 22 पर लिनक्स सर्वर और फिर पोर्ट 3306 पर सर्वर से ही?

जवाबों:


20

मैंने कुछ रेखाचित्र खींचे हैं

मशीन, जहां ssh टनल कमांड टाइप की जाती है (या आपके मामले में: सुरंग के साथ पुट्टी शुरू की जाती है) को »आपका होस्ट« कहा जाता है ।

ssh सुरंग स्थानीय से शुरू होती है


ssh सुरंग रिमोट से शुरू होती है

परिचय

  1. स्थानीय: -L Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side.

    ssh -L sourcePort:forwardToHost:onPort connectToHostका अर्थ है: ssh के साथ कनेक्ट करें connectToHost, और स्थानीय सभी कनेक्शन प्रयासों को आगे बुलाया मशीन पर sourcePortपोर्ट onPortकरने के लिए forwardToHost, जिसे connectToHostमशीन से पहुंचा जा सकता है ।

  2. दूरस्थ: -R Specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local side.

    ssh -R sourcePort:forwardToHost:onPort connectToHostका अर्थ है: ssh के साथ कनेक्ट connectToHost, और रिमोट कनेक्शन के लिए सभी कनेक्शन प्रयासों को आगे बुलाया मशीन पर sourcePortपोर्ट onPortकरने के लिए forwardToHost, जिसे आपके स्थानीय मशीन से पहुँचा जा सकता है।

आपका उदाहरण

पहली छवि आपकी स्थिति का प्रतिनिधित्व करती है। ब्लू बॉक्स जिसे your hostआपकी विंडोज मशीन कहा जाता है जिसमें से आप अपने उबंटू सर्वर पर पुट्टी शुरू करते हैं, जिसे remotehostमेरी छवि में कहा जाता है। हरी बंदरगाह (अपने मामले पोर्ट संख्या में देखने के लिए कनेक्शन 4000) गुलाबी MySQL बंदरगाह के लिए भेजा जाता है 3306की localhostअपने Ubuntu सर्वर मशीन के (यानी उबंटू सर्वर पर ही)।

पुट्टी के साथ इसे स्थापित करने के लिए

पोटीन शुरू करें और अपनी सामान्य कनेक्शन सेटिंग्स (होस्टनाम या आईपी पता) दर्ज करें बाईं ओर के पेड़ में, नेविगेट करें

कनेक्शन → SSH → सुरंगें

और स्रोत पोर्ट (छवि में 123) और गंतव्य (लोकलहोस्ट: छवि में 456 ) के साथ एक नई स्थानीय सुरंग बनाएं ।4000localhost:3306

Add पर क्लिक करना ना भूलें ।

फिर सत्र पर वापस जाएं और अगली बार अपनी सेटिंग्स रखने के लिए सहेजें पर क्लिक करें । अब आप अपने सर्वर में लॉग इन करने के लिए सहेजे गए कनेक्शन का उपयोग कर सकते हैं और आपके द्वारा सफलतापूर्वक लॉग इन करने के बाद, हर बार जब आप अपने होस्ट पर पोर्ट 4000 से कनेक्ट करते हैं तो आप वास्तव में उबंटू सर्वर पर पोर्ट 3306 से कनेक्ट होंगे।

पोटीन के साथ आगे सुरंग बनाएं


बहुत अच्छा, चित्रण के लिए धन्यवाद। मैं सराहना करता हूं कि आपने "रिमोट" प्रकार की सुरंगें जोड़ीं, जिन्हें मैंने अपने एवर्स में कवर नहीं किया।
Guss

1
यह उत्तर भयानक है
मॉरिशियो पसक्विअर जुआन

2
बहुत बढ़िया और बहुत ही
निराशाजनक

1
यह कैसे इतना कम वोट एक शर्म की बात है।
रयान फिशर

1
मुझे यह रेखाचित्र बहुत पसंद हैं। चित्र हजार शब्दों का है।
क़रटल

16

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

इसे सेट करने के लिए, पुट्टी कॉन्फ़िगरेशन डायलॉग खोलें, उस कनेक्शन की सेटिंग चुनें जिसे आप सामान्य रूप से अपने सर्वर तक पहुंचने के लिए उपयोग करते हैं और "लोड" पर क्लिक करें (और "ओपन" नहीं)। फिर बाईं ओर के पेड़ में, कनेक्शन-> एसएसएच-> सुरंगों पर जाएं और स्रोत पोर्ट 4000 और गंतव्य "लोकलहोस्ट: 3306" के साथ एक नई "स्थानीय" सुरंग बनाएं (क्योंकि गंतव्य का पता सर्वर पर हल हो गया है,) सर्वर के दृष्टिकोण से MySQL पोर्ट लोकलहोस्ट पर है)। फिर "सत्र" पर वापस जाएं और अगली बार अपनी सेटिंग्स रखने के लिए "सहेजें" पर क्लिक करें। अब आप अपने सर्वर में लॉग इन करने के लिए सहेजे गए कनेक्शन का उपयोग कर सकते हैं और आपके द्वारा सफलतापूर्वक लॉग इन करने के बाद, हर बार जब आप अपने कंप्यूटर पर पोर्ट 4000 से कनेक्ट करते हैं तो आप वास्तव में सर्वर पर पोर्ट 3306 से कनेक्ट होंगे।

यदि आप गंभीरता से सुरंगों में हैं, और एक एमएस-विंडोज क्लाइंट चला रहे हैं, तो मैं पुट्टी सुरंग प्रबंधक को देखने का सुझाव देता हूं, जो कि पुट्टी का उपयोग करता है और एक खुली पोटीन कंसोल की आवश्यकता के बिना आसानी से सुरंगों को चलाता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.