SSH संरचना
इस ssh-config
फ़ाइल SSH क्लाइंट व्यवहार को कॉन्फ़िगर करता है। चलीए प्रत्येक भाग को तोड़ें:
Host * !192.*.*.*
: यह खंड सभी होस्टों पर लागू होता है सिवाय उन होस्टों के जो192.*.*.*
पैटर्न से मिलते हैं (आम तौर पर, स्थानीय नेटवर्क पते).ProxyCommand corkscrew localhost 7890 %h %p
: यह मुख्य भाग है। यह SSH को लक्ष्य होस्ट से जुड़ने के लिएcorkscrew
प्रोग्राम का उपयोग करने के लिए कहता है।corkscrew
: एक टूल जो आपको SSH कनेक्शन को HTTP या HTTPS प्रॉक्सी के माध्यम से टनल करने की अनुमति देता है।localhost 7890
: प्रॉक्सी सर्वर का पता (localhost
) और पोर्ट (7890
) को निर्दिष्ट करता है। यह मानता है कि आपके पास स्थानीय मशीन पर एक प्रॉक्सी सर्वर चल रहा है, जो पोर्ट 7890 पर सुन रहा है (जैसे, Shadowsocks, एक SOCKS प्रॉक्सी, या कोई अन्य टनलिंग सॉल्यूशन).%h
: एक विशेष SSH चर जो लक्ष्य होस्टनेम को विस्तारित करता है जिसे आप जुड़ने की कोशिश कर रहे हैं।%p
: एक और SSH चर जो लक्ष्य पोर्ट (आम तौर पर 22 के लिए SSH) को विस्तारित करता है।
- सारांश में, यह
Host
ब्लॉक SSH को सभी कनेक्शनों के लिएcorkscrew
प्रॉक्सी का उपयोग करने के लिए कॉन्फ़िगर करता है सिवाय स्थानीय नेटवर्क के।
Host *
: यह खंड सभी होस्टों पर लागू होता है।UseKeychain yes
: macOS पर, यह SSH को SSH की चाबियों को आपके Keychain में स्टोर और रिट्रीव करने के लिए कहता है, ताकि आपको हर बार अपना पासवर्ड दर्ज करना पड़े।AddKeysToAgent yes
: यह आपकी SSH की चाबियों को SSH एजेंट में स्वचालित रूप से जोड़ता है, ताकि आपको हर बार रीबूट के बाद उन्हें मैन्युअल रूप से जोड़ने की जरूरत न पड़े।IdentityFile ~/.ssh/id_rsa
: यह आपकी प्राइवेट SSH की चाबी फ़ाइल का पथ निर्दिष्ट करता है।~/.ssh/id_rsa
RSA प्राइवेट की चाबी के लिए डिफ़ॉल्ट स्थान है।
सारांश में, यह कॉन्फ़िगरेशन स्थानीय नेटवर्क पर के सिवाय सभी SSH कनेक्शनों के लिए एक प्रॉक्सी सेट अप करता है, और यह चाबी प्रबंधन के लिए सुविधा के लिए कॉन्फ़िगर करता है।
Host 192.168.1.*
UseKeychain yes
AddKeysToAgent yes
IdentityFile ~/.ssh/id_rsa
Host * !192.*.*.* !47.*.*.*
ProxyCommand corkscrew localhost 7890 %h %p
Host *
UseKeychain yes
AddKeysToAgent yes
IdentityFile ~/.ssh/id_rsa