इस लेख में हम दिखाएंगे कि एक एसएसएच सुरंग के माध्यम से बंदरगाहों को अग्रेषित करने के लिए अंतर्निहित विंडोज 10 ओपनएसएसएच सर्वर का उपयोग कैसे करें . SSH पोर्ट फ़ॉरवर्डिंग आपको स्थानीय कंप्यूटर से दूरस्थ सर्वर और इसके विपरीत ऐप पोर्ट को टनल (फॉरवर्ड) करने की अनुमति देता है। पहले SSH टनलिंग का उपयोग केवल Linux/Unix वातावरण में किया जाता था, लेकिन आज आप इसे Windows 10/Windows Server 2016 में भी उपयोग कर सकते हैं। विंडोज़ पर एसएसएच सुरंग (टीसीपी पोर्ट 22) के माध्यम से आरडीपी कनेक्शन का उपयोग कैसे करें, इसका एक केस स्टडी यहां दिया गया है।
SSH टनलिंग का उपयोग ज्यादातर परिदृश्यों में किया जाता है जब आपको फ़ायरवॉल के पीछे किसी दूरस्थ कंप्यूटर से कनेक्ट करने की आवश्यकता होती है। उदाहरण के लिए, आपके पास एक विंडोज़ सर्वर है जिसमें केवल एसएसएच पोर्ट खुला है (टीसीपी 22)। अन्य सभी पोर्ट हार्डवेयर फ़ायरवॉल या विंडोज फ़ायरवॉल द्वारा अवरुद्ध हैं। आपका कार्य RDP क्लाइंट का उपयोग करके Windows सर्वर से कनेक्ट करना है। यह असंभव लगता है क्योंकि रिमोट डेस्कटॉप पोर्ट 3389 फ़ायरवॉल द्वारा अवरुद्ध है। हालाँकि, आप SSH सुरंग के माध्यम से पोर्ट फ़ॉरवर्डिंग तकनीक का उपयोग कर सकते हैं।
यहाँ SSH टनलिंग के विशिष्ट उपयोग परिदृश्य हैं:
- स्थानीय TCP अग्रेषण एक दूरस्थ सर्वर को अग्रेषित करने वाला एक स्थानीय पोर्ट है;
- दूरस्थ TCP अग्रेषण एक दूरस्थ पोर्ट है जो स्थानीय कंप्यूटर को अग्रेषित करता है;
- डबल SSH टनल एक SSH सर्वर (यदि OpenVPN समाधान लागू नहीं है) के माध्यम से NAT के पीछे किसी समर्पित प्यूबिक आईपी पते के बिना कंप्यूटर को जोड़ता है।
SSH टनल के माध्यम से RDP एक्सेस (स्थानीय TCP फ़ॉरवर्डिंग)
इस मोड में, आप अपने कंप्यूटर पर एक स्थानीय टीसीपी पोर्ट बनाते हैं। इस पोर्ट के सभी कनेक्शन SSH टनल के माध्यम से दूरस्थ सर्वर पर निर्दिष्ट पोर्ट पर अग्रेषित किए जाते हैं। इस उदाहरण में, हम एक स्थानीय पोर्ट बनाएंगे 8888 , और इसका कनेक्शन RDP पोर्ट 3389 . पर अग्रेषित कर दिया जाएगा एक दूरस्थ विंडोज कंप्यूटर पर। सामान्य कनेक्शन योजना नीचे दिखाई गई है।
अंतर्निहित विंडोज 10 एसएसएच क्लाइंट (विंडोज 10 1809 और विंडोज सर्वर 2019 से शुरू होने वाले विंडोज का एक हिस्सा है) का उपयोग करके एक एसएसएच सुरंग बनाने के लिए, इस कमांड को चलाएं:
ssh -L 8888:192.168.1.90:3389 [email protected]
SSH टनल के माध्यम से किसी दूरस्थ कंप्यूटर डेस्कटॉप से कनेक्ट करने के लिए, आपको RDP क्लाइंट (mstsc.exe) का उपयोग करके अपने कंप्यूटर के स्थानीय पोर्ट 8888 से कनेक्ट करना होगा:
127.0.0.1:8888
रिमोट कंप्यूटर में लॉग इन करें और आरडीपी सत्र में सुरक्षित रूप से काम करें (लेकिन आपको याद है कि पोर्ट 3389 अभी भी फ़ायरवॉल द्वारा बंद है)। आप यह सुनिश्चित करने के लिए TCPView टूल का उपयोग कर सकते हैं कि RDP कनेक्शन स्थानीय है (RDP कनेक्शन स्थानीय रूप से चलने वाले SSH सर्वर द्वारा शुरू किया गया है)।
कृपया ध्यान दें कि यदि आप एक अनएन्क्रिप्टेड ऐप ट्रैफ़िक को अग्रेषित करते हैं, तो इसे सार्वजनिक नेटवर्क पर एन्क्रिप्टेड ट्रांसमिट किया जाएगा। इस तरह के ट्रैफ़िक को आपके SSH कनेक्शन के एक छोर पर एन्क्रिप्ट किया जाएगा और दूसरे पर डिक्रिप्ट किया जाएगा।
आपके स्थानीय नेटवर्क के अन्य कंप्यूटर भी RDP सर्वर से कनेक्ट करने के लिए इस मोड का उपयोग कर सकते हैं, भले ही सीधे कनेक्शन की अनुमति न हो (SSH और RDP दोनों के माध्यम से)। ऐसा करने के लिए, उन्हें आपके कंप्यूटर पर बनाई गई SSH सुरंग के साथ RDP क्लाइंट के माध्यम से पोर्ट नंबर 8888 से कनेक्ट करना होगा:
mstsc.exe /v 10.10.1.220:8888
स्थानीय कंप्यूटर पर दूरस्थ TCP अग्रेषण
एक और एसएसएच सुरंग उपयोग मामला है - रिमोट टीसीपी अग्रेषण। SSH टनल का उपयोग करके, आप दूरस्थ सर्वर को अपने कंप्यूटर पर स्थानीय पोर्ट या अपने स्थानीय नेटवर्क में किसी अन्य कंप्यूटर पर पोर्ट तक पहुँचने की अनुमति दे सकते हैं। उदाहरण के लिए, आप चाहते हैं कि एक बाहरी सर्वर (200.168.1.90) आपकी इंट्रानेट साइट तक पहुंचे (इंटरनेट में प्रकाशित नहीं)। एक रिवर्स SSH टनल बनाने के लिए, इस कमांड का उपयोग करें:
ssh -R 8080:internalwww:80 [email protected]
किसी दूरस्थ SSH सर्वर से आंतरिक wwww साइट तक पहुँच प्राप्त करने के लिए, ब्राउज़र में यह पता टाइप करना पर्याप्त है:https://localhost:8080
netsh interface portproxy command
. का उपयोग करके पोर्ट फ़ॉरवर्डिंग नियम बना सकते हैं SSH सुरंगों का उपयोग करके, आप पोर्ट फ़ॉरवर्डिंग चेन बना सकते हैं। SSH टनलिंग को सक्षम या अक्षम करने के लिए, OpenSSH कॉन्फ़िग फ़ाइल में निम्न में से कोई एक निर्देश जोड़ें (%programdata%\ssh\sshd_config ):
AllowStreamLocalForwarding yes AllowTcpForwarding remote