डबल सर्वर हॉप पर SFTP


15

मैं अपने SFTP सर्वर पर फ़ाइलों को एक्सेस करने की अनुमति देने के लिए एक विधि पर काम करने की कोशिश कर रहा हूं, जिससे मैं अपनी स्थानीय मशीन से एक्सेस नहीं कर सकता। वर्तमान में, मुझे SSH को एक दूरस्थ सर्वर पर भेजना है (यह एक निश्चित आईपी ब्लॉक में है जिसे अंतिम SFTP सर्वर स्वीकार करेगा), फिर वहां से SFTP गंतव्य सर्वर के लिए। वहां से, मैं getजिन फाइलों में दिलचस्पी रखता हूं, उन्हें बिचौलिया सर्वर पर छोड़ देता हूं, जिससे मैं सांबा शेयर या प्रत्यक्ष के साथ फाइल प्राप्त कर सकता हूं scp। मैं रिवर्स में भी काम करता हूं, जहां मैं बिचौलिया पर फाइलें छोड़ता हूं, एसएसएच को फिर गंतव्य के लिए एसएफटीपी और putउन्हें उचित फ़ोल्डर में।

मेरा लक्ष्य इसे छोटा करना है। दुर्भाग्यपूर्ण प्रतिबंध यह है कि मेरी मशीन विंडोज है (मैं KiTTy और / या Cygwin का उपयोग करता हूं) और मैं किसी भी तरह से बिचौलिया सर्वर (या गंतव्य सर्वर) को संशोधित नहीं कर सकता। मैं कमांड लाइन या GUI प्रोग्राम का उपयोग करने के लिए तैयार हूं जब तक यह काम करता है और स्वतंत्र है।

कोई विचार?

जवाबों:


24

संक्षेप में, जीयूआई या अन्य उपयुक्तताओं के बिना:

ssh -o ProxyCommand='ssh myfirsthop nc -w 10 %h %p' mydestination

आप इसे डिफ़ॉल्ट फ़ाइल को संपादित करके डिफ़ॉल्ट रूप से बना सकते हैं, डिफ़ॉल्ट रूप से ~ / .ssh / config

Host mydestination, mydest2, mydest3
ProxyCommand ssh myfirsthop nc -w 10 %h %p

यह तब आपको करने की अनुमति देता है

ssh mydestination
scp mydest2:file.txt ./
scp file.txt mydest3:/tmp/

बेशक, इस तरह के जादू से आप आसानी से कर सकते हैं

mkdir -pv /tmp/mydest3tmp          # create mountpoint
sshfs mydest3:/tmp /tmp/dest3tmp/  # mount :)

खिड़कियों पर, आप WinSCP का उपयोग करेंगे जो (मुझे लगता है कि IIRC) PLINK (पुट्टी सूट से) है। मुझे लगता है कि ssh configफ़ाइल के लिए डिफ़ॉल्ट स्थान अलग है (मुझे इसके लिए Google में आना होगा), लेकिन मुझे यकीन है कि यह कम या ज्यादा काम करता है।

ध्यान दें कि काम करने के लिए आपको केवल एक चीज की आवश्यकता होती है वह है मिडक ncसर्वर (पहला हॉप) पर 'netcat ( )'। यह linux / UNIX [1] पर एक सर्वव्यापी उपकरण है; एक स्टैटिकली लिंक्ड वर्जन बनाना काफी आसान है जो काम करना चाहिए अगर आप इसे पहली जगह में कॉपी कर सकते हैं।

[१] ध्यान दें कि कुछ स्वाद हैं, इसलिए -w विकल्प को अलग से गिराया / वर्तनी किया जा सकता है


1
आप साहब, पता नहीं कैसे खुश हो गए, इससे मुझे बहुत खुशी हुई :) बिल्कुल सही!
josh.trow

@ josh.trow: नहीं है, लेकिन मुझे खुशी है कि तुम मुझे :) कभी भी बताया हूँ
sehe

हालाँकि, जैसा कि @ josh.trow ने पहले ही पाया है, WinSCP में सुरंग निर्माण सुविधा है (अन्य उत्तर देखें), अगर आपको कभी बाहरी अनुप्रयोग द्वारा सुरंग सेटअप का उपयोग करने की आवश्यकता है, तो यहां एक गाइड है: wincp.net/eng/csocs/ guide_tunnel
मार्टिन प्रिक्रील

9

मैं इसे स्वीकार किए गए उत्तर के रूप में सेट नहीं करने जा रहा हूं क्योंकि मैंने इसे @sehe और @ याकूब के बिना कभी नहीं पाया, लेकिन यहां मैंने वही पाया जो सब कुछ सरल करता है ...

WinSCP में SSH टनल का उपयोग करने की क्षमता है। मुझे नहीं पता कि यह फीचर कब आया, लेकिन मैंने इसे किसी तरह से पहले कभी नहीं देखा था।

WinSCP सुरंग सेटिंग्स


सुरंग बनाने की सुविधा का दस्तावेजीकरण: wincp.net/eng/docs/tunneling और wincp.net/eng/docs/ui_login_tunnel
मार्टिन प्रिक्रील

filezilla में भी काम करता है!
हेडन थ्रिंग

यह सुविधा केवल सिंगल टनल की अनुमति देती है ... 2nd टनल कैसे जोड़ें?
zeetit

@zeetit फिर आपको एक बाहरी सुरंग का उपयोग करना होगा। सभी टनलिंग विकल्पों को टनलिंग पर WinSCP गाइड में प्रलेखित किया जाता है ।
मार्टिन प्रिक्रील

2

मेरा एक सुझाव पोटीन (आपके विंडोज़ बॉक्स से) का उपयोग करके एक मोज़े का प्रॉक्सी बनाना होगा, और फिर उस पर अपने SFTP क्लाइंट को प्रॉक्सी करना होगा (फाइलज़िला sftp कहना)।

आपको इस तरह से कुछ विशेष करने की ज़रूरत नहीं है, बस अपने पोटीन मोजे 5 प्रॉक्सी को चालू करें, और फाइलज़िला को चालू करें, और गंतव्य सर्वर पर अपनी फ़ाइलों को sftp करें।

(you ==socks5 proxy==> middle server) ==> destination server

ऐसा लगता है कि आप एक अलग समस्या को हल कर रहे हैं, वास्तव में एक कठिन। ओपी की समस्या यह है कि अंतिम गंतव्य ग्राहक से नियमित नहीं है - आउटबाउंड एसएसएच ट्रैफ़िक ठीक है। ( मेरा मानना ​​है कि आपके समाधान के लिए प्रॉक्सी पर 'टनल' एसएसएच ट्रैफिक की जरूरत है? )
सेह

@ साले .. क्या? आप एक एसएसएच 5 सॉक्स (मध्य बॉक्स के लिए एसएन सुरंग) को सेट करते हैं, फिर आप अपने एसएफटीपी ट्रैफिक को गंतव्य बॉक्स तक पहुंचाते हैं, वहां मध्य सर्वर के रूप में मास्किंग करके। मैं किस अन्य समस्या को हल कर रहा हूं?
जकूब
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.