जंप होस्ट का उपयोग करके रिमोट सर्वर तक कैसे पहुंचें


एक जंप होस्ट (जिसे जंप सर्वर के रूप में भी जाना जाता है) एक मध्यस्थ मेजबान या एक दूरस्थ नेटवर्क के लिए एसएसएच प्रवेश द्वार है, जिसके माध्यम से एक अन्य मेजबान में एक कनेक्शन बनाया जा सकता है। प्रसार सुरक्षा क्षेत्र, उदाहरण के लिए एक डिमिलिटरीकृत क्षेत्र ( DMZ )। यह दो असमान सुरक्षा क्षेत्रों को पुल करता है और उनके बीच नियंत्रित पहुंच प्रदान करता है।

इंटरनेट पर उपयोगकर्ताओं को सेवाएं प्रदान करने वाले सर्वरों के साथ एक जंप होस्ट विशेष रूप से सुरक्षित और निगरानी की जानी चाहिए, जब यह एक निजी नेटवर्क और एक DMZ फैला हुआ हो।

एक क्लासिक परिदृश्य आपके डेस्कटॉप या लैपटॉप सेआपकी कंपनी के आंतरिक नेटवर्क के अंदर से कनेक्ट हो रहा है, जो फायरवॉल के साथ डीएमजेड के साथ सुरक्षित है। DMZ में एक सर्वर को आसानी से प्रबंधित करने के लिए, आप इसे जंप होस्ट के माध्यम से एक्सेस कर सकते हैं।

इस लेख में, हम एक जंप होस्ट के माध्यम से एक दूरस्थ लिनक्स सर्वर तक पहुंचने का तरीका प्रदर्शित करेंगे और साथ ही हम आपके प्रति-उपयोगकर्ता SSH क्लाइंट कॉन्फ़िगरेशन में आवश्यक सेटिंग्स कॉन्फ़िगर करेंगे।

निम्नलिखित परिदृश्य पर विचार करें।

उपरोक्त परिदृश्य में, आप HOST 2 से कनेक्ट करना चाहते हैं, लेकिन आपको फ़ायरवॉल, रूटिंग और एक्सेस विशेषाधिकारों के कारण HOST 1 से गुजरना पड़ता है। जुम्फॉस्ट की आवश्यकता क्यों है इसके कई वैध कारण हैं।

गतिशील जम्फोस्ट सूची

एक जंप होस्ट के माध्यम से लक्ष्य सर्वर से कनेक्ट करने का सबसे सरल तरीका कमांड कोड से -J ध्वज का उपयोग कर रहा है। यह जंप होस्ट से एक संबंध बनाने के लिए ssh को बताता है और फिर लक्ष्य सर्वर पर एक टीसीपी अग्रेषण स्थापित करता है, वहां से (सुनिश्चित करें कि आप मशीनों के बीच पासवर्ड रहित SSH लॉगिन करें)।

$ ssh -J host1 host2

यदि मशीनों पर उपयोगकर्ता नाम या पोर्ट अलग हैं, तो उन्हें टर्मिनल पर दिखाए अनुसार निर्दिष्ट करें।

$ ssh -J [email :port [email :port	  

मल्टीपल जम्फोस्ट्स लिस्ट

एक ही सिंटेक्स का उपयोग कई सर्वरों पर जम्प बनाने के लिए किया जा सकता है।

$ ssh -J [email :port,[email :port [email :port

स्थैतिक जम्फॉस्ट सूची

स्टेटिक जम्फॉस्ट सूची का मतलब है, कि आप जम्फॉस्ट या जम्फॉस्ट जानते हैं कि आपको एक मशीन कनेक्ट करने की आवश्यकता है। इसलिए आपको ~/.ssh/config फ़ाइल में निम्न स्थिर jumphost ’रूटिंग’ को जोड़ना होगा और दिखाए गए अनुसार मेजबान उपनामों को निर्दिष्ट करना होगा।

### First jumphost. Directly reachable
Host vps1
  HostName vps1.example.org

### Host to jump to via jumphost1.example.org
Host contabo
  HostName contabo.example.org
  ProxyJump contabo

अब दिखाए गए अनुसार कूद होस्ट के माध्यम से लक्ष्य सर्वर से कनेक्ट करने का प्रयास करें।

$ ssh -J vps1 contabo

दूसरी विधि अपने ~ .shsh/config या /home/mial में jumphost कॉन्फ़िगरेशन जोड़ने के लिए ProxyCommand विकल्प का उपयोग करना है। दिखाया गया// ssh/config फ़ाइल।

इस उदाहरण में, लक्ष्य होस्ट contabo और jumphost vps1 है।

Host vps1
	HostName vps1.example.org
	IdentityFile ~/.ssh/vps1.pem
	User ec2-user

Host contabo
	HostName contabo.example.org	
	IdentityFile ~/.ssh/contabovps
	Port 22
	User admin	
	Proxy Command ssh -q -W %h:%p vps1

जहां कमांड <कोड> प्रॉक्सी कमांड ssh -q -W% h:% p vps1 का अर्थ है, ssh को शांत मोड में चलाएं ( -q का उपयोग करके) और stdio अग्रेषण में (इस कोड का उपयोग करके) > -W ) मोड, एक मध्यवर्ती होस्ट ( vps1 ) के माध्यम से कनेक्शन को रीडायरेक्ट करता है।

फिर दिखाए गए अनुसार अपने लक्ष्य होस्ट तक पहुंचने का प्रयास करें।

$ ssh contabo

उपरोक्त कमांड पहले ProxyCommand द्वारा प्रभावित पृष्ठभूमि में vps1 के लिए एक ssh कनेक्शन खोलेगा, और उसके बाद, लक्ष्य सर्वर के लिए ssh सत्र शुरू करें "contabo

अधिक जानकारी के लिए, ssh मैन पेज देखें या देखें: OpenSSH/Cookbxook/Proxies और Jump Hosts।

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