मैं अंत में ssh
केवल यह पूरा करने में कामयाब रहा :
- अपने ग्राहक मशीन पर एक स्थानीय SOCKS प्रॉक्सी शुरू करें (उपयोग करके
ssh -D
)
- दूरस्थ सर्वर से कनेक्ट करें और
ssh -R
अपने स्थानीय SOCKS प्रॉक्सी के लिए एक रिवर्स पोर्ट फ़ॉरवर्डिंग ( ) सेटअप करें
- अग्रेषित प्रॉक्सी का उपयोग करने के लिए सर्वर सॉफ्टवेयर को कॉन्फ़िगर करें
1. पृष्ठभूमि में स्थानीय मोज़े प्रॉक्सी शुरू करें
SSH के माध्यम से लोकलहोस्ट से कनेक्ट करें और पोर्ट 54321 पर SOCKS प्रॉक्सी खोलें।
$ ssh -f -N -D 54321 localhost
-f
पृष्ठभूमि में SSH चलाता है।
नोट: यदि आप उस टर्मिनल को बंद कर देते हैं जहां आपने कमांड शुरू की है, तो प्रॉक्सी प्रक्रिया को मार दिया जाएगा। यह भी याद रखें कि जब आप काम कर रहे हों या प्रक्रिया को मारकर या तो टर्मिनल विंडो बंद करके अपने आप को साफ कर लें!
2. रिमोट सर्वर और सेटअप रिवर्स पोर्ट फॉरवर्डिंग से कनेक्ट करें
रिमोट पोर्ट 6666 को स्थानीय पोर्ट 54321 पर बाँधें। यह आपके स्थानीय सॉक्स प्रॉक्सी को पोर्ट 6666 पर रिमोट साइट पर उपलब्ध कराता है।
$ ssh root@target -R6666:localhost:54321
3. अग्रेषित प्रॉक्सी का उपयोग करने के लिए सर्वर सॉफ्टवेयर को कॉन्फ़िगर करें
बस yum, apt, curl, wget या किसी भी अन्य टूल को कॉन्फ़िगर करें जो प्रॉक्सी का उपयोग करने के लिए SOCKS का समर्थन करता है 127.0.0.1:6666
।
देखा! हैप्पी टनलिंग!
4. वैकल्पिक: अग्रेषित प्रॉक्सी का उपयोग करने के लिए सर्वर सॉफ्टवेयर को कॉन्फ़िगर करें
मैंने पाया कि proxychains
लक्ष्य सर्वर पर स्थापित करने से चीजें बहुत आसान हो जाती हैं।
यह SOCKS प्रॉक्सी (सम telnet
) का उपयोग करने के लिए किसी भी सॉफ़्टवेयर को सक्षम करता है , जो LD_PRELOAD
टीसीपी और डीएनएस अनुरोधों को पुनर्निर्देशित करने के लिए एक ट्रिक का उपयोग करके प्रॉक्सी में करता है।
/etc/proxychains.conf
अग्रेषित सॉक्स प्रॉक्सी का उपयोग करने के लिए सेटअप :
[ProxyList]
# SSH reverse proxy
socks5 127.0.0.1 6666
सुरंग वाले मनमाने उपकरण (जो टीसीपी का उपयोग करते हैं) proxychains
:
$ proxychains telnet google.com 80
$ proxychains yum update
$ proxychains apt-get update