मैं ssh सुरंग के साथ तोड़फोड़ के लिए प्रॉक्सी कैसे सेट कर सकता हूं?


24

मैं प्रॉक्सी के माध्यम से कोड को देखना / अपडेट करना चाहता हूं क्योंकि मेरा स्थानीय कनेक्शन धीमा है। मैंने ssh सुरंग को सेटअप किया: ssh -D 8090 user@ssh.proxy.net सभी पैकेटों को मेरे लोकलहोस्ट को अग्रेषित करने के लिए: 8090।

मैं इसका उपयोग करने के लिए तोड़फोड़ कैसे कर सकता हूं?

ssh  svn  proxy 

+1, अच्छा सवाल। मुझे यह देखने में दिलचस्पी है कि क्या ऐसा करने का कोई तरीका है। मेरे पास बहुत धीमी वाई-फाई है और अक्सर उसी तरह सेट किए गए SOCKS प्रॉक्सी के माध्यम से ब्राउज़ करते हैं, यह तोड़फोड़ (या अन्य) का उपयोग करने के लिए आसान होगा।
टिम पोस्ट

और प्रॉक्सी आपके वाई-फाई को तेज करता है?
इन्नाएम

जवाबों:


21

आप SSH सर्वर सेट करने के लिए SSH का उपयोग कर रहे हैं जो आपके SSH सर्वर पर सुरंग करता है। आप उल्लेख करते हैं कि ऐसा करने का आपका कारण यह है कि "स्थानीय कनेक्शन धीमा है", लेकिन मैं यह देखने में विफल रहता हूं कि SSH सर्वर के लिए सुरंग बनाना कितना तेज होगा।

वैसे भी, आपकी समस्या यह है कि सबवर्सन एक HTTP प्रॉक्सी या SSH सुरंग के माध्यम से जुड़ सकता है, लेकिन इसका SOCKS के बारे में कोई विचार नहीं है। इसलिए आपको अपने सभी टीसीपी कनेक्ट को कैप्चर करके और उन्हें SOCKS प्रॉक्सी पर रीडायरेक्ट करके सबवर्सन को SOCKSify करना होगा।

जो लोग इसे पहले कर चुके हैं, उनके बारे में बताने के बजाय, मैं आपको उनके विस्तृत विवरणों की ओर इशारा करता हूँ:

या संक्षेप में ज्यादातर ओलिवर के पेज से cut'n'pasted:

डेबियन में दो मोज़े होते हैं जो सोर्सफोर्ज पर भी उपलब्ध हैं। सबसे हाल ही में अपडेट किया गया प्रॉक्सी प्रॉक्सी है, और यह कॉन्फ़िगर करने के लिए काफी सीधा है। अधिकांश मोज़े एक समान फैशन में काम करते हैं इसलिए ये निर्देश एक उचित सामान्य मामला होना चाहिए। ProxyChains को कॉन्फ़िगर करने के लिए आपको केवल $ (HOME) /। Proxychains / proxychains.conf को केवल निम्न पंक्तियों में संपादित करना होगा:

DynamicChain
tcp_read_time_out 15000
tcp_connect_time_out 10000
[ProxyList]
socks5 127.0.0.1 8090
# NB: for some reason 'localhost' doesn't work in the above line

इसके बाद आपको केवल प्रॉक्सी में 'लपेट' करना होगा।

proxychains svn commit

उपरोक्त उदाहरण में, svn एप्लिकेशन कोई भी समझदार नहीं था कि इसकी टीसीपी सबवर्सन सर्वर से जुड़ती है और आपके SOCKS प्रॉक्सी को रीडायरेक्ट किया गया था। "


बहुत बहुत धन्यवाद यह मेरे लिए काम करता है। यदि आप ओएस एक्स पर हैं और डीएनएस फॉरवर्डिंग की आवश्यकता है तो इस प्रॉक्साइकिन कांटा का उपयोग करें। github.com/haad/proxychains और सुनिश्चित करें कि पहली पंक्ति के बाद 'प्रॉक्सी_डंस' लाइन विन्यास में है।
गोर्न्यू

2

यहाँ पोस्टिंग, क्योंकि मुझे ऐसा करने के लिए एक कम कीचड़-वाई रास्ता मिला। आप अपने प्रॉक्सी में निम्नलिखित पंक्तियों को जोड़कर, HTTP प्रॉक्सी पर अपने SSH SOCKS सुरंग का उपयोग करने के लिए Polipo का उपयोग कर सकते हैं :

socksParentProxy = "localhost:8090"
socksProxyType = socks5

polipoडिफ़ॉल्ट रूप से बंदरगाह पर सुनो 8123। और फिर में $HOME/.subversion/serversतोड़फोड़ मेजबान के लिए एक समूह बनाने में हमारी, जैसे अगर आपके तोड़फोड़ भंडार मेजबान (रों) नाम दिया गया है बाहर की जाँच करना चाहते हैं proj1.svn.domain.tld, proj2.svn.domain.tldआदि, तो के लिए निम्न जोड़ने [groups]अनुभाग:

[groups]
domain = *.svn.domain.tld

और अंत में मेजबान के समूह के लिए एक प्रॉक्सी विन्यास निर्दिष्ट करें जिसे आपने समूह के लिए एक ब्लॉक जोड़कर जोड़ा है:

[domain]
http-proxy-host=localhost
http-proxy-port=8123

इसके बाद आपको सामान्य रूप से भंडार पर काम करने में सक्षम होना चाहिए, जैसा कि आप SSH सुरंग के बिना काम करते थे।

HTH


"लोकलहोस्ट: 8090" क्या है?
२२ पर

@ डाइंग यह SOCKS प्रॉक्सी है जिसका उपयोग पॉलीपो द्वारा इसके अपस्ट्रीम के रूप में किया जाता है।
आशीष शुक्ल

1

मैं सुरंग बनाने के बारे में नहीं जानता, ssh -Dलेकिन कुछ का उपयोग करके

ssh -L8090:svn.server.com:22 user@other.server.com

फिर आप उस सुरंग के विशेष प्रोटोकॉल के साथ एक नए प्रोटोकॉल को जोड़कर टनलिंग कर सकते हैं जो सुरंग चालू है। तो, ~ / .subversion / config में एक पंक्ति जोड़ें जैसे

pssh = ssh -p8090

में [tunnels]खंड और उसके बाद SVN + ssh के बजाय: //user@original.com उपयोग SVN + pssh: // उपयोगकर्ता @ स्थानीय होस्ट

यदि आपके पास मौजूदा कामकाजी प्रति है तो आप उपयोग कर सकते हैं

svn switch --relocate svn+ssh://user@original.com svn+pssh://user@localhost

पते को स्विच करने के लिए वर्किंग कॉपी को नए चेकआउट के बिना लिंक किया गया है।


मैं काफी पकड़ नहीं सकता। मान लें: मैं मूल रूप से चेकआउट करता हूं: svn co svn: //code.somewhere.com/prj prj और अब मैं क्या कर सकता हूं? मूल रूप से मैं वास्तव में यह नहीं समझ सकता कि आपका क्या मतलब है: "svn + ssh: //user@ssh.proxy.net के बजाय"। धन्यवाद

यदि आपके पास एक काम करने वाली कॉपी है svn co svn+ssh://code.somewhere.com/prj prj, तो जा रहा है prj/और चल रहा है, तो svn switch --relocate svn+ssh://code.somewhere.com svn+pssh://localhost/यह देखने के लिए wc को अपडेट करेगा जैसे कि इसके माध्यम से प्राप्त किया गया होsvn co svn+pssh://localhost/prj prj
blahdiblah

शायद हम कहीं न कहीं गलत समझें। वास्तव में मैं सर्वर बी के माध्यम से सर्वर ए (ssh -D 8090 उपयोगकर्ता @ बी) के माध्यम से अपने स्थानीय मशीन पर कोड की जांच करना चाहता हूं, क्या यह संभव है? svn co svn + pssh: // localhost / prj prj लगता है बस कोड एक सर्वर बी को चेकआउट करें जब तक कि मैं आपको नहीं मिल रहा हूं।

मुझे पता है कि मुझे पता है कि ssh टनलिंग के साथ इसे अपडेट किया गया है। अगर मैं सही ढंग से समझता हूं, तो "ssh -L8090: serverA.com: 22 user@serverB.com" और उसके बाद "svn co svn + pssh: // user @ localhost / prj prj" का उपयोग करके अपने सर्वर पर सर्वर से कोड की जांच करेंगे। मशीन, सर्वर बी के माध्यम से
blahdiblah

आह! मुझे लगता है कि मैं देख सकता हूं कि भ्रम कहां हो सकता है। सुरंग की स्थापना प्रॉक्सी सर्वर पर एक शेल शुरू करती है, लेकिन यह वह जगह नहीं है जहां svn कमांड हो रहे हैं। वे आपके कंप्यूटर पर एक अलग शेल में होने चाहिए। Ssh के लिए -f ध्वज उसी शेल के उपयोग की अनुमति दे सकता है।
blahdiblah

1

डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइलों को ~ / .subversion पर देखें / इसमें कई उपयोगी उदाहरण दिए गए हैं। प्रॉक्सी को ~ / .subversion / सर्वर में स्थापित किया जाएगा


1

ऐसे अवसर होते हैं जब यह विंडोज़ पीसी पर मोजे प्रॉक्सी सर्वर के माध्यम से SVN रिपॉजिटरी में svn + ssh कनेक्शन प्राप्त करने के लिए आवश्यक होता है । इस समस्या को पुट्टी के साथ हल किया जा सकता है जो एसएसएच कार्यक्षमता प्रदान करता है और विभिन्न प्रॉक्सी प्रकारों के साथ काम कर सकता है। प्रस्तावित समाधान में स्थानीय पोर्ट अग्रेषण की आवश्यकता नहीं होती है।

  1. पोटीन लॉन्च करें और एक सत्र बनाएं (जैसे मोजे_प्रोक्सी)
  2. सत्र (कनेक्शन-> प्रॉक्सी) के लिए केवल प्रॉक्सी कॉन्फ़िगर करें जहां प्रॉक्सी होस्टनाम और पोर्ट जमा करना आवश्यक है । पोटीन SOCKS4 और SOCKS5 दोनों सहित विभिन्न प्रॉक्सी प्रकारों के चयन के साथ काम करता है। वैकल्पिक रूप से आप प्रॉक्सी पहुंच के लिए उपयोगकर्ता नाम और पासवर्ड प्रदान कर सकते हैं ।
  3. सत्र बचाओ। कृपया याद रखें कि सत्र में कनेक्शन के लिए कोई कॉन्फ़िगर होस्ट नाम नहीं होगा ।
  4. SVN कॉन्फ़िगरेशन फ़ाइल खोलें अनुप्रयोग Data \ Subversion \ config और अनुभाग का पता लगाएं [सुरंगों]
  5. अनुभाग शीर्षक के नीचे अतिरिक्त SVN प्रोटोकॉल विवरण रखें: ssh = PATH_TO_PLINK / PLINK.EXE- लोड मोज़े -प्रोक्सी । (उदाहरण के लिए उपयोग वास्तव में प्रोटोकॉल नाम अपनी पसंद है तो आप किसी भी नाम है, तो ssh पहले से ही प्रयोग किया जाता है चुन सकते हैं pssh = बजाय ssh = )।
  6. SSH पहुंच लक्ष्य सर्वर के लिए कॉन्फ़िगर करें जहाँ svHerve चलाने के लिए SSH का उपयोग किया जाएगा । चाबियाँ बनाए रखने के लिए पेजेंट का उपयोग करने की अनुशंसा की जाती है।
  7. Svn + ssh एक्सेस के लिए svn का उपयोग करें। उपयोगकर्ता का नाम URL में पारित किया जाना चाहिए - SVN ls svn + protocol_name : // उपयोगकर्ता नाम @ सर्वर / भंडार जहां प्रोटोकॉल नाम वास्तविक में प्रयोग किया जाता नाम के साथ प्रतिस्थापित किया जाना चाहिए [सुरंगों] SVN विन्यास की धारा।

यह क्या है - SVN प्रोटोकॉल नाम का उपयोग यह पता लगाने के लिए करेगा कि कनेक्शन के लिए plink.exe का उपयोग किया जाना चाहिए और पलक सत्र नाम मोजे_प्रोक्स का उपयोग करेगा कि प्रॉक्सी मौजूद है। याद रखें कि PATH_TO_PLINK को स्लैश के साथ दर्ज किया जाना चाहिए, बैकस्लैश के साथ नहीं। इस अवसर के लिए उदाहरण जब plink.exe फ़ोल्डर C: \ Program Files \ Putty में स्थित है: ssh = C: / Program Files / Putty / PLINK.EXE- लोड सॉक्स_प्रोक्सी


1

आप एक कोशिश टस्क दे सकते हैं । Tsocks के साथ, आप इसे SOCKS प्रॉक्सी SSH सेट अप का उपयोग करने के लिए कॉन्फ़िगर करते हैं, तो svn को ऐसे चलाएँ:

tsocks svn co {etc...}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.