SOCKS प्रॉक्सी के माध्यम से SSH? (क्लाइंट = ओपनएसएसएच ओएस एक्स)


11

मुझे यकीन नहीं है कि यह सवाल यहां सर्वरफुल या सुपरयूजर पर सबसे अधिक अनुकूल है। इसके बारे में तार्किक रूप से सोचने पर मुझे लगता है कि यह एक sysadmin प्रश्न है, इसलिए मैं इसे यहां रख रहा हूं, और अगर मॉड्स को लगता है कि इसे स्थानांतरित करना चाहिए, तो गलत अनुमान लगाने के लिए माफी!

किसी भी तरह - मेरे पास एक सर्वर ऑफ-साइट है, और मैं एक निजी आईपी पर एक HTTP प्रॉक्सी या SOCKS 4/5 प्रॉक्सी के अलावा नेट तक गैर-पहुंच के साथ फंस गया हूं। मैं OS X चला रहा हूं, और मैं चाहता हूं कि टर्मिनल से ssh कमांड किसी तरह उन दो प्रॉक्सियों में से किसी एक के माध्यम से रिमोट सर्वर पर जाने के लिए काम करे। दूरस्थ सर्वर पर SSH पोर्ट गैर-मानक है, हालांकि मुझे संदेह है कि इससे बहुत फर्क पड़ेगा।

जवाबों:


5

मुझे पता है कि यह एक प्राचीन पोस्ट है, लेकिन मुझे लगता है कि यह उत्तर अभी भी मददगार होगा:

आप नेटसीट (nc) के साथ SOCKS प्रॉक्सी के माध्यम से इसे आसानी से कर सकते हैं। आपके ~ / .ssh / config में आप केवल दो पंक्तियाँ जोड़ते हैं, एक जो निर्दिष्ट करता है कि आप कौन से प्रॉक्सी को होस्ट करना चाहते हैं, और एक पंक्ति यह बताएगी कि nc के माध्यम से कैसे कनेक्ट किया जाए। इस तरह:

~ /। ssh / config: (OSX पर परीक्षण किया गया, लिनक्स पर भी काम करना चाहिए)

Host 10.*
    ProxyCommand nc -X 5 -x PROXY_HOST:1080 %h %p

अपने सेटअप के लिए "PROXY_HOST" को सही चीज़ से बदलें।

यह सीधे लक्ष्य होस्ट (सीधे इस मामले में "10." के साथ शुरू होने वाले कुछ भी - आईपी या होस्ट नाम हो सकता है) के लिए टीसीपी कनेक्शन खोलने के बजाय, एसएस को वास्तव में निर्दिष्ट विकल्पों के साथ "एनसी" कमांड चलाता है। टीसीपी कनेक्शन स्थापित करें, और एसएसएच बाकी को वहां से करता है। बेहद सुविधाजनक।

"5" SOCKS संस्करण है, "1080" प्रॉक्सी पोर्ट है, "% h" SSH आपके द्वारा कमांड लाइन पर टाइप किए गए होस्ट के साथ बदलता है, और "% p" SSH कमांड लाइन से पोर्ट के साथ बदलता है (या डिफ़ॉल्ट) 22)।


7

हाँ यह किया जा सकता है। इस साइट को एक उदाहरण के लिए देखें ।

मूल रूप से आप अपने स्थानीय ~/.ssh/configफ्लेल का उपयोग करते हैं (या /etc/ssh/ssh_configयदि आपको सिस्टम-वाइड होने की आवश्यकता है) ProxyCommandमेजबानों के लिए एक निर्देश निर्दिष्ट करने के लिए जिसे आपको प्रॉक्सी के माध्यम से जाना है।

आप ncउस साइट पर उनके द्वारा बताए गए सॉफ़्टवेयर के बजाय (जो OS X के साथ आता है) का उपयोग कर सकते हैं ।

का संदर्भ लें ssh_config(5)और nc(1)अतिरिक्त जानकारी के लिए आदमी पृष्ठों की है।


1
दुर्भाग्यवश आप जिस पृष्ठ से लिंक करते हैं वह पुराना है, और बाइनरी के पैच किए गए संस्करण का लिंक मृत है - 404 त्रुटि।
बार्ट बी

1
ओह यह कितना शर्मनाक है - मुझे एक वर्किंग प्रॉक्सी कमांड का लिंक मिला जो अभी भी OS X 10.7 लायन पर संकलन करता है, और अभी भी काम करता है, ON ​​MY OWN BLOG! मेरे बचाव में पद 6 साल पुराना है, लेकिन फिर भी। यहाँ काम करने के निर्देश: bartbusschots.ie/blog/?p=184
Bart B

2
@BartB "जो कुछ भी आपने एक सप्ताह से अधिक पहले लिखा था, वह शायद किसी और ने लिखा हो।" - यह एक प्रोग्रामिंग स्वयंसिद्ध है, लेकिन यह sysadmins और ब्लॉगर्स के लिए भी सही है।
voretaq7

3

थोड़ा देर से, लेकिन ध्यान दें कि आप यहाँ अन्य उत्तरों का उपयोग SSH कमांड में -o ध्वज के साथ कर सकते हैं। यह मेरे लिए उपयोगी था, क्योंकि मुझे प्रॉक्सी का उपयोग करने की आवश्यकता नहीं हो सकती है (मैं किस कार्यालय में हूं इसके आधार पर) तो मैं वास्तव में अपनी ssh config फाइलों को संपादित नहीं करना चाहता।

ssh -o "ProxyCommand nc -X 5 -x myproxy:myproxyport %h %p" myuser@cantaccessthiswithoutproxy.com
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.