SSH फॉरवर्डद्वारे केवळ VPN वर उपलब्ध HTTPS साइटपर्यंत पोहोचणे
केवळ VPN वर उपलब्ध एक HTTPS सेवा स्थानिक SSH फॉरवर्डशी जोडा, --connect-to ने खरे होस्टनाव ठेवा आणि एक TCP फॉरवर्ड काय व्यापू शकत नाही हे जाणून घ्या.
एका मशीनकडे आधीच मंजूर VPN प्रवेश आहे, दुसऱ्या मशीनला नेमकी एक खाजगी HTTPS सेवा हवी आहे, आणि स्थानिक SSH फॉरवर्ड दुसऱ्या मशीनला बोगदा न देता हे अंतर भरून काढू शकतो। फॉरवर्ड संपूर्ण नेटवर्कऐवजी एक TCP गंतव्य घेऊन जातो, आणि हीच मर्यादा मुख्य मुद्दा आहे। खालील पाच पायऱ्या क्रमाने पूर्ण करा, कारण प्रत्येक वेगळ्या कारणाने अयशस्वी होते आणि पुढील पायरी आधीची तूट सोडवू शकत नाही। कोणतीही पूर्वअट नसल्यास ही रचना ती सोडवत नाही आणि आदेशांचे कोणतेही ट्युनिंग मदत करणार नाही।
पायरी एक: तीन पूर्वअटींची पुष्टी करा
कोणत्याही आदेशाला अर्थ येण्यापूर्वी तीन गोष्टी आधीच खऱ्या असाव्यात। पहिले मशीन फॉरवर्डिंग होस्ट म्हणून वापरण्याची परवानगी, त्यावर कार्यरत SSH प्रवेश आणि इच्छित गंतव्याला परवानगी देणारे सर्व्हर धोरण आवश्यक आहे। फाइल हस्तांतरणासाठी तयार केलेल्या SSH खात्यात फॉरवर्डिंग बंद असू शकते, आणि फॉरवर्डिंगला परवानगी देणारा सर्व्हरही त्याद्वारे कोणत्या गंतव्यांपर्यंत पोहोचता येते हे मर्यादित ठेवू शकतो। चाचणीपूर्वी विचारा, कारण सहकाऱ्याचे वर्कस्टेशन कराराशिवाय जंप पॉइंट म्हणून वापरणे आदेश निर्दोष चालला तरी धोरणाची समस्या आहे।
दोन आदेश त्या यादीचा तांत्रिक अर्धा भाग सोडवतात। पहिला खाते आणि की संवादात्मक प्रॉम्प्टशिवाय कार्यरत असल्याचे सिद्ध करतो, आणि दुसरा कॉन्फिगरेशन फाइलमधील भाष्य केलेल्या उदाहरणाऐवजी प्रत्यक्ष सर्व्हर धोरण छापतो।
ssh -o BatchMode=yes [email protected] 'echo ok'
sudo sshd -T | grep -E 'allowtcpforwarding|permitopen'
पायरी दोन: loopback पोर्ट बांधा आणि सत्र जिवंत ठेवा
क्लायंट अनुप्रयोग चालवणाऱ्या मशीनवर खाजगी सेवेसाठी स्थानिक फॉरवर्ड उघडा। स्थानिक नेटवर्कवर प्रकाशित होऊ नये म्हणून तो स्पष्टपणे loopback ला बांधा, आणि कोणतीही स्थानिक सेवा आधीच धरून नसलेला उंच पोर्ट निवडा। काम करताना सत्र चालू ठेवा, कारण ते बंद केल्यास श्रोताही बंद होतो। ExitOnForwardFailure नाकारलेली बांधणी किंवा व्यापलेला पोर्ट फॉरवर्डशिवाय राहणाऱ्या सत्राऐवजी तत्काळ बाहेर पडण्यात बदलतो, आणि हाच अयशस्वी होण्याचा मार्ग सर्वाधिक वेळ वाया घालवतो।
खाजगी जोडणी जंप होस्टवरून होते, त्यामुळे त्या होस्टचे DNS, मार्ग, VPN धोरण आणि सेवा प्रवेश सर्व कार्यरत असणे आवश्यक आहे। SSH सत्र जंप होस्टकडे नसलेली पोहोच निर्माण करत नाही, आणि VPN ने कधीही न पाठवलेला मार्ग दुरुस्त करू शकत नाही। आदेशाच्या शांततेवर विश्वास ठेवण्याऐवजी श्रोता प्रत्यक्षात जिथे आहे तिथे त्याची पुष्टी करा।
ssh -N -o ExitOnForwardFailure=yes -L 127.0.0.1:9443:portal.lab.example:443 [email protected]
ss -ltn '( sport = :9443 )'
पायरी तीन: सॉकेट स्थानिक असताना HTTPS नाव ठेवा
https://127.0.0.1:9443/ वर ब्राउझ केल्याने TLS सर्व्हर नाव आणि अनुप्रयोग अधिकार बदलतो। portal.lab.example साठी जारी केलेले प्रमाणपत्र loopback पत्त्याविरुद्ध सत्यापित होणार नाही, आणि परिणामी त्रुटी फॉरवर्डिंग शॉर्टकटऐवजी तुटलेल्या प्रमाणपत्रासारखी दिसते। आदेश-ओळ चाचणीसाठी खरे URL ठेवा आणि फक्त सॉकेट गंतव्य बदला। --connect-to हेच करतो, आणि curl मॅन्युअल खाली वापरलेले चार-क्षेत्रीय स्वरूप दस्तऐवजीकृत करते।
curl --noproxy portal.lab.example --connect-to portal.lab.example:443:127.0.0.1:9443 https://portal.lab.example/
नाव URL मध्ये, TLS हस्तांदोलनात आणि Host हेडरमध्ये राहते, तर TCP जोडणी स्थानिक श्रोत्याकडे जाते। प्रॉक्सीशिवाय पर्याय चाचणी याच फॉरवर्डवर ठेवतो, कॉन्फिगर केलेल्या HTTP प्रॉक्सीला ती अडवू देण्याऐवजी, आणि प्रमाणपत्र सत्यापन सुरू ठेवणे हेच परिणाम अर्थपूर्ण करते।
पायरी चार: एक फॉरवर्ड काय व्यापू शकत नाही हे जाणून घ्या
एक TCP फॉरवर्ड एक गंतव्य पोर्ट व्यापतो। दुसऱ्या होस्टनावावर पुनर्निर्देशित करणारे, खाजगी नेटवर्कमधील होस्टवरून संसाधने लोड करणारे किंवा दुसऱ्या पोर्टवर पाठवणारे पृष्ठ स्वतःचे फॉरवर्ड आवश्यक आहे, आणि त्यातील प्रत्येकाला पहिल्यासारखीच धोरण तपासणी आवश्यक आहे। ब्राउझर कार्यप्रवाह स्वतःच्या गरजा जोडतात, कारण प्रॉक्सी कॉन्फिगरेशन किंवा स्थानिक मॅपिंगद्वारे खरे नाव स्थानिक पोर्टवर पाठवण्यास ब्राउझरला सांगावे लागते। त्यामुळे यशस्वी आदेश-ओळ चाचणी ब्राउझरही यशस्वी होईल हे सिद्ध करत नाही, जरी ती मार्ग सिद्ध करते।
UDP, SMB शोध आणि डोमेन साइन-इन TCP फॉरवर्डमधून अजिबात जात नाहीत। खरी गरज सामान्य नेटवर्क प्रवेश असल्यास ही रचना चुकीचे साधन आहे आणि समर्थित दूरस्थ-प्रवेश गेटवे योग्य आहे।
पायरी पाच: साफसफाई करा आणि नोंदवा
चाचणी संपल्यावर सत्र थांबवा आणि श्रोता गेल्याची पुष्टी करा। निवडलेला पोर्ट आधीच व्यापलेला असल्यास, क्रमांक मोकळा करण्यासाठी असंबंधित स्थानिक सेवा थांबवण्याऐवजी दुसरा न वापरलेला loopback पोर्ट निवडा आणि URL, चाचणी आदेश व नोंद एकत्र अद्ययावत करा। लॅपटॉपवर फॉरवर्ड उघडा ठेवल्यास निदान अनियंत्रित सेवेत बदलते।
जंप होस्ट, फॉरवर्ड केलेले गंतव्य, स्थानिक पोर्ट आणि ही व्यवस्था कोणी मंजूर केली ते लिहा। जो फॉरवर्ड केवळ कोणाच्या shell इतिहासात आहे तो एका रीबूटपासून पुनरावृत्त तपासणीकडे नेतो, आणि पुढच्या व्यक्तीला तीन पूर्वअटींपैकी कोणती आधीच तपासली आहे हे कळणार नाही।