पिछले उत्तरों में उल्लेख किया गया है कि एक मध्यवर्ती सर्वर (जिसे आमतौर पर गढ़ मेजबान के रूप में संदर्भित किया जाता है) के माध्यम से कनेक्ट करने के लिए ProxyJump निर्देश (OpenSSH 7.3 में जोड़ा गया) का उपयोग कैसे करें, लेकिन इसे केवल कमांड लाइन तर्क के रूप में उल्लेख करें।
जब तक यह एक ऐसी मशीन है जिसे आप भविष्य में नहीं जोड़ेंगे, सबसे अच्छी बात यह है कि आप इसे कॉन्फ़िगर करते हैं ~/.ssh/config
।
मैं एक फाइल डालूँगा जैसे:
Host office-machine
Hostname yochay-machine.internal.company.local
ProxyJump bastion-machine
Host bastion-machine
Hostname organization-server.company.com
...
यदि आप OpenSSH के पुराने संस्करण का उपयोग कर रहे हैं जो ProxyJump का समर्थन नहीं करता है, तो आप इसे समकक्ष से बदल देंगे:
ProxyCommand ssh -W %h:%p bastion-machine
और अगर आपका स्थानीय ssh संस्करण वास्तव में प्राचीन था जो समर्थन नहीं करता था -W
:
ssh bastion-machine nc %h %p
हालांकि इस अंतिम के लिए आवश्यक है कि गढ़ मशीन nc
स्थापित हो।
Ssh की सुंदरता यह है कि आप फ़ाइल पर प्रत्येक गंतव्य को कॉन्फ़िगर कर सकते हैं, और वे बहुत अच्छी तरह से ढेर हो जाएंगे। इस प्रकार आप office-machine
सभी टूल (ssh, scp, sftp ...) पर होस्टनाम के रूप में काम कर रहे हैं क्योंकि वे सीधे कनेक्ट थे, और वे यह पता लगाएंगे कि ssh_config के आधार पर कैसे कनेक्ट किया जाए। आपके पास वाइल्डकार्ड्स भी हो सकते हैं, जो Host *.internal.company.local
सभी मेजबानों को समाप्त करने की तरह बनाते हैं, जो एक विशिष्ट गढ़ से गुजर रहा है, और यह उन सभी पर लागू होगा। एक बार सही ढंग से कॉन्फ़िगर करने के बाद, एक हॉप कनेक्शन या बीस करने के बीच एकमात्र अंतर धीमी कनेक्शन समय होगा।