यदि आप भाग्यशाली हैं कि आपका इंटरनेट सेवा प्रदाता (आईएसपी) आपको एक समर्पित आईपी पता देता है, तो आप अपने राउटर में कुछ पोर्ट अग्रेषण नियम जोड़कर एक होम सर्वर सेट कर सकते हैं और इसे इंटरनेट पर उपलब्ध करा सकते हैं। लेकिन अगर आपका आईएसपी आपको उस आईपी को अपने पड़ोसियों के साथ साझा करता है, तो पोर्ट अग्रेषण मदद नहीं करेगा। अन्य प्रदाता केवल फ़ायरवॉल नियमों के माध्यम से आने वाले कनेक्शन को ब्लॉक कर देते हैं।
आप वर्चुअल प्राइवेट सर्वर की मदद से इन सभी प्रतिबंधों को बायपास कर सकते हैं। कुछ भी काम करेगा, भले ही उसमें 512MB से कम RAM हो, जैसा कि उसे केवल नेटवर्क ट्रैफ़िक को पुनर्निर्देशित करना है। यह CPU और RAM पर बहुत हल्का है। सर्वर इनकमिंग कनेक्शन प्राप्त करेगा और उन्हें "रिवर्स एसएसएच टनल" के माध्यम से आपके कंप्यूटर पर रीडायरेक्ट करेगा। इस तरह आप बहुत कम मासिक लागतों के साथ किसी भी प्रकार का होम सर्वर सेट कर सकते हैं।
कल्पना कीजिए कि आप अपनी फ़ाइलों को अपलोड/सिंक्रनाइज़ करने के लिए एक नेक्स्टक्लाउड सर्वर बनाते हैं। आप उन फ़ाइलों को अपने होम सर्वर पर रखने की गोपनीयता प्राप्त करते हैं, और फिर आप अपनी जरूरत के सभी स्थान प्राप्त करने के लिए 6TB हार्ड ड्राइव खरीद सकते हैं। वर्चुअल प्राइवेट सर्वर के लिए आपको केवल मासिक बिजली बिल और $ 5 / माह से कम का भुगतान करना होगा। यह 6TB स्पेस वाले सर्वर के मासिक बिल से काफी सस्ता है।
नोट :यह केवल TCP नेटवर्क ट्रैफ़िक को पुनर्निर्देशित करने के लिए कार्य करता है। टीसीपी का उपयोग वेब सर्वर (पोर्ट 80/टीसीपी) जैसी चीजों द्वारा किया जाता है। UDP का उपयोग कुछ (सभी नहीं) गेम सर्वर द्वारा किया जाता है, उदाहरण के लिए काउंटर स्ट्राइक (पोर्ट 27015/UDP)। यूडीपी टनलिंग संभव है, लेकिन कुछ "हैक्स" के साथ, जो भविष्य के ट्यूटोरियल का विषय हो सकता है।
Windows 10 में अब एक अंतर्निहित SSH क्लाइंट है
SSH कनेक्शन शुरू करने के लिए अब PuTTY का उपयोग करने की कोई आवश्यकता नहीं है। वास्तव में, इस ट्यूटोरियल के लिए आप वास्तव में सुरंग स्थापित करने के लिए इस अंतर्निहित क्लाइंट का उपयोग करेंगे। अगर आप पहले से इससे परिचित नहीं हैं, तो Windows 10 के OpenSSH क्लाइंट के बारे में ट्यूटोरियल पढ़ें।
सुरंग कनेक्शन के लिए वर्चुअल प्राइवेट सर्वर तैयार करें
अपने पसंदीदा प्रदाता के साथ एक वर्चुअल प्राइवेट सर्वर बनाएं, जैसे DigitalOcean, Linode, Vultr, या जो कुछ भी आप पसंद करते हैं। सबसे महत्वपूर्ण बात यह है कि नेटवर्क विलंबता को कम करने के लिए एक सर्वर स्थान का चयन करना जो आपके जितना संभव हो उतना करीब हो। सर्वर को इस तरह से सेट करने का प्रयास करें कि आप सीधे रूट खाते में लॉग इन कर सकें, अधिमानतः एक एसएसएच कुंजी के साथ, क्योंकि यह अधिक सुरक्षित है। यह आवश्यक है यदि आप सर्वर को 1024 से नीचे के बंदरगाहों पर आने वाले कनेक्शनों को सुनना चाहते हैं, तथाकथित विशेषाधिकार प्राप्त पोर्ट।
ओपन कमांड प्रॉम्प्ट (या यदि आप लिनक्स पर हैं तो टर्मिनल), और एसएसएच के माध्यम से सर्वर में लॉग इन करें।
OpenSSH सर्वर सेटिंग संपादित करें:
nano /etc/ssh/sshd_config
यदि आपने रूट के रूप में लॉग इन नहीं किया है, लेकिन एक नियमित उपयोगकर्ता के रूप में, आपको इस कमांड का उपयोग करने की आवश्यकता होगी, अन्यथा आप फ़ाइल को सहेजने में सक्षम नहीं होंगे:
sudo nano /etc/ssh/sshd_config
नीचे स्क्रॉल करें जब तक कि आपको "गेटवेपोर्ट्स" नामक एक वेरिएबल न मिल जाए। लाइन कुछ इस तरह दिख सकती है:#GatewayPorts no
. पूर्ववर्ती "#" (असम्बद्ध करने के लिए) हटाएं और लाइन को GatewayPorts yes
में बदलें ।
अगर आपको लाइन नहीं मिल रही है, तो बस नीचे की ओर स्क्रॉल करें और खुद लाइन जोड़ें:
GatewayPorts yes
प्रेस Ctrl + X , फिर y . दबाएं , और अंत में फ़ाइल को सहेजने के लिए दर्ज करें।
SSH डेमॉन को फिर से लोड करें ताकि वह नई सेटिंग पर आए।
systemctl reload ssh.service
SSH सत्र से बाहर निकलें।
exit
रिवर्स SSH टनल कैसे सेट करें
लिनक्स, विंडोज और यहां तक कि बीएसडी ऑपरेटिंग सिस्टम पर कमांड पैरामीटर समान हैं। सामान्य वाक्य रचना है:
ssh -R remote_port:host:localport your_username@IP-of-server
remote_port
सर्वर को उस पोर्ट पर आने वाले कनेक्शन को पुनर्निर्देशित करने के लिए कहता है।host
सर्वर को बताता है कि किस आईपी पते पर कनेक्शन को पुनर्निर्देशित किया जाना चाहिए।127.0.0.1
यहां आपके कंप्यूटर पर रीडायरेक्ट करने के लिए उपयोग किया जाएगा।localport
निर्देश देता है कि किस पोर्ट डेटा पैकेट को पुनर्निर्देशित किया जाना चाहिए। यहां, आपको वह पोर्ट नंबर डालना चाहिए जिस पर आपका एप्लिकेशन, आपके स्थानीय कंप्यूटर पर इंस्टॉल किया गया है, सुनता है।
उदाहरण के लिए, पोर्ट 80 (सर्वर पर) पर आने वाले सभी कनेक्शनों को अग्रेषित करने के लिए और उन्हें अपने स्थानीय कंप्यूटर पर पोर्ट 8080 पर भेजने के लिए, कमांड होगा:
ssh -R 80:127.0.0.1:8080 [email protected]
यह मानता है कि आपके पास Apache या Nginx जैसा वेब सर्वर है, जो आपकी स्थानीय मशीन पर पोर्ट 8080 पर सुनता है। लेकिन अगर Apache/Nginx डिफ़ॉल्ट पोर्ट 80 पर सुन रहा है, तो पिछले कमांड में दो बार एक ही पोर्ट का उपयोग करने में कोई समस्या नहीं है (क्योंकि वे एक अलग सर्वर में पोर्ट 80 की बात कर रहे हैं)।
ssh -R 80:127.0.0.1:80 [email protected]
इस बिंदु पर, यदि कोई आपके वर्चुअल प्राइवेट सर्वर के आईपी पते को ब्राउज़र के एड्रेस बार में दर्ज करता है, तो उनका कनेक्शन आपके स्थानीय कंप्यूटर द्वारा पुनर्निर्देशित और परोसा जाएगा।
ऊपर की तस्वीर में, क्रोम के लिए एक साधारण वेब सर्वर का उपयोग किया गया था जो डिफ़ॉल्ट रूप से पोर्ट 8887 पर सुनता है। आप इस सेटअप को स्वयं ऐप इंस्टॉल करके और फिर कमांड का उपयोग करके देख सकते हैं, जैसा कि चित्र में है।
गौरतलब है कि सुरंग को सक्रिय रखने के लिए आपका SSH सत्र सक्रिय रहना चाहिए। सुरंग को बंद करने के लिए, exit
type टाइप करें टर्मिनल/कमांड प्रॉम्प्ट विंडो में।
निष्कर्ष
जैसा कि आप देख सकते हैं, रिवर्स SSH टनल बनाना मुश्किल नहीं है, लेकिन वेबसाइट को सुरक्षित करना है। इसलिए यदि आप स्थानीय नेक्स्टक्लाउड सर्वर जैसे किसी विचार को लागू करना चुनते हैं, तो इसे कम से कम वर्चुअल मशीन में अलग करें। इस तरह, अगर आपकी वेबसाइट से छेड़छाड़ की जाती है, तो कम से कम आपके बाकी ऑपरेटिंग सिस्टम को कोई नुकसान नहीं होगा।
और, आप जानते हैं ... हमेशा उस चीज़ का बैकअप लें जिसे आप खोने का जोखिम नहीं उठाना चाहते!