दो दूरस्थ एसएसएच सर्वर के बीच फ़ाइलों को स्थानांतरित करें


21

क्या दो SSH / SFTP सर्वरों के बीच फ़ाइलों को स्थानांतरित करने का एक आसान तरीका है? सही समाधान FileZilla होगा, लेकिन यह केवल आपको स्थानीय और दूरस्थ के बीच संबंध बनाने देता है, लेकिन दूरस्थ और दूरस्थ के बीच नहीं।

सैद्धांतिक रूप से मैं दो नॉटिलस खिड़कियां खोलने के लिए और कुछ करने के लिए कनेक्ट कर सकता है ssh://server1/path/to/folderऔर ssh://server2/path/to/folderऔर फिर बस दूसरी तरफ एक से फाइल खींच। मेरा अनुभव है कि यह बहुत अस्थिर है। 10MB आकार में फ़ाइलों को स्थानांतरित करना कोई समस्या नहीं है, लेकिन 10GB स्थानांतरित करने के परिणामस्वरूप अक्सर Nautilus खुद को ऊपर लटकाए रहता है और वहां ps -e | grep nautilus-> की आवश्यकता होती है kill -9 <pid>। मैंने भी निमो और काजा के साथ एक ही बात परखी। जबकि निमो दो अन्य की तुलना में अधिक स्थिर हो जाता है, यह अभी भी सही नहीं है और समय-समय पर टूटता भी है। FileZilla बेहद स्थिर है, कभी भी इसे तोड़ने के लिए नहीं मिला, लेकिन यह उल्लेखित तथ्य के कारण बहुत लचीला नहीं है कि यह केवल एक एसएसएच सर्वर से कनेक्ट हो सकता है।

बेशक मैं भी एक फ़ोल्डर के साथ माउंट कर सकता हूं sshfs, लेकिन यह एक असुविधाजनक समाधान है। एक सरल स्थानांतरण चलाने के लिए बहुत अधिक पूर्व-कार्य करना।

क्या कोई ऐसा ऐप है जो बिना टूटे दो एसएसएच सर्वर के बीच स्थानांतरण को संभाल सकता है? परफेक्ट कुछ ऐसा होगा जैसे कि FileZilla, अगर कनेक्शन में रुकावट आती है तो वह फिर से काम शुरू कर देता है।


नहीं एक जवाब क्योंकि यह एक सॉफ्टवेयर सिफारिश साइट नहीं है, लेकिन मैं (वाणिज्यिक) तुलना से परे (प्रयोग कर रहे scootersoftware.com साल के लिए), और यह सिर्फ काम के इस प्रकार के लिए बहुत अच्छा है। यह दो खिड़कियां प्रदान करता है, जिनमें से दोनों एक स्थानीय पथ या एक sftp दिखा सकते हैं: // URL, फ़ोल्डरों के बीच के अंतर को दिखाएगा, और बस अंतर को कॉपी करने की इसकी क्षमता एक उत्कृष्ट फिर से शुरू-तंत्र बनाता है अगर यह टूट जाता है, जो बहुत कम होता है मेरे अनुभव में। (संतुष्ट ग्राहक होने के अलावा उनके साथ संबंध नहीं बनाए गए)।
गुंतराम ब्लोह

जवाबों:


36

आप एक Ubuntu संस्करण है कि अभी भी समर्थन करते हैं, तो आपके scpआदेश प्रदान करेगा -3स्विच जहाँ से फ़ाइलों की प्रतिलिपि बनाने के लिए सक्षम बनाता remote1 को remote2 के माध्यम से स्थानीय होस्ट :

me@local:~> scp -3 user1@remote1:/path/to/file1 user2@remote2:/path/to/file2

आप -3स्विच को छोड़ भी सकते हैं , लेकिन फिर आपको फ़ाइल की सार्वजनिक कुंजी ( id_rsa.pub) की आवश्यकता होगी :user1@remote1authorized_keysuser2@remote2

me@local:~> scp user1@remote1:/path/to/file1 user2@remote2:/path/to/file2

scpफिर हुड के नीचे एक ssh user1@remote1पहले और वहाँ से करता है scp /path/to/file1 user2@remote2:/path/to/file2। इसलिए क्रेडेंशियल को -3समाधान से अलग वितरित किया जाना चाहिए ।

दूसरे शब्दों में:

  • scp -3 remote1:file1 remote2:file2फाइल को रिमोट 1 से लोकलहोस्ट में ट्रांसफर करता है और फिर रिमोट 2 पर भेजता है । डेटा रिमोट 1 → लोकलहोस्ट → रिमोट 2 यात्रा करता हैस्थानीय होस्ट इस परिदृश्य में 3 पार्टी है, इसलिए है -3। यह काम करने के लिए, आपको रिमोट 1 और रिमोट 2 दोनों पर लोकलहोस्ट से क्रेडेंशियल्स की आवश्यकता होगी क्योंकि लोकलहोस्ट दोनों को जोड़ता है।

  • scp remote1:file1 remote2:file2फाइल को सीधे रिमोट 1 से रिमोट 2 पर कॉपी करते हैं , जिस गति से वे एक दूसरे से जुड़े होते हैं। लोकलहोस्ट यहां शामिल नहीं है (कमांड जारी करने के अलावा)। डेटा रिमोट 1 → रिमोट 2 यात्रा करता है । काम करने के लिए इस के लिए, आप से साख की आवश्यकता होगी स्थानीय होस्ट पर ही remote1 लेकिन इसके साथ ही आप की साख की जरूरत remote1 पर remote2 क्योंकि स्थानीय होस्ट जोड़ता को remote1 केवल और फिर remote1 को जोड़ता है remote2

यदि संभव हो तो मैं दूसरा दृष्टिकोण चुनूंगा। जैसा कि कुछ टिप्पणियां पहले से ही कहती हैं: आमतौर पर रिमोट 1 और रिमोट 2 के बीच नेटवर्क केबल उनके और लोकलहोस्ट के बीच के केबल से कहीं अधिक मोटा होता है ।


2
वह सिर्फ सुंदर है। ssh सॉफ्टवेयर का स्विस सेना चाकू है। धन्यवाद, मैंने कुछ सीखा।
ऑर्गेनिक मार्बल

4
ध्यान दें कि यह दृष्टिकोण, प्रश्न में वर्णित नॉटिलस दृष्टिकोण की तरह, पहले फ़ाइल को स्थानीय मशीन में स्थानांतरित करेगा, फिर दूसरे सर्वर तक। यह महत्वपूर्ण मंदी का कारण होगा जब दो दूरस्थ सर्वरों के बीच स्थानीय मशीन की तुलना में उनके बीच एक तेज लिंक होता है। (उदाहरण के लिए, जब रिमोट सर्वर डाटाकंट्रेस में होते हैं और लोकल मशीन में डीएसएल कनेक्शन होता है।)
स्टोबोर

1
@ स्टोबोर गुड पॉइंट, धन्यवाद। मैंने अपने उत्तर को थोड़ा स्पष्ट करने के लिए अपडेट किया कि डेटा कैसे और उसके बिना यात्रा करता है -3
11

1
Remote1 पर किसी भी कुंजी या पासवर्ड के बिना, एजेंट अग्रेषण के साथ दूसरी विधि काम करेगा?
एरिक ड्यूमिनिल

1
@EricDuminil मुझे डर है कि मैं नहीं बता सकता। मैं एजेंट अग्रेषण के साथ कोई वास्तविक exerience नहीं है। लेकिन मुझे इसमें संदेह है क्योंकि Remote1 को एक्सेस से वंचित करना है जब न तो कुंजी और न ही पासवर्ड की आपूर्ति की जाती है, है न?
प्रतिदिन

10

ज्यादातर मामलों में, दो ssh सर्वर एक दूसरे तक पहुँच सकते हैं (या कम से कम एक दूसरे तक पहुँच सकते हैं), और फिर से ज्यादातर मामलों में कार्य केंद्र का इंटरनेट या तो सर्वरों की तुलना में कहीं अधिक खराब है।

यदि ऐसा है, तो एक सर्वर को दूसरे को स्थानांतरित करने का आदेश देना एक रास्ता है।

ssh server1 nohup scp somefile server2:somefile

nohup.outत्रुटियों के लिए सर्वर 1 पर जाँच करें ।

यदि सर्वर रीचबिलिटी आपके आस-पास का दूसरा तरीका है, तो कौन सी मशीन मास्टर हो सकती है:

ssh server2 nohup scp server1:somefile somefile

7

शायद आप rsync में कई GUI फ्रंट-एंड में से एक का उपयोग कर सकते हैं:

क्या कमांड rsync के लिए कोई GUI एप्लिकेशन है?

या शायद आप दूरस्थ सर्वर से कनेक्ट करने के लिए कमांड लाइन से सीधे rsync का उपयोग कर सकते हैं:

"दो रीमोट के बीच rsync फ़ाइलों को कैसे करें"

मैं अक्सर ssh के साथ एक सर्वर में लॉग इन करता हूं, फिर उस सर्वर की कमांड लाइन से rsync का उपयोग करके फ़ाइलों को दूसरे रिमोट सर्वर पर धकेलने या खींचने के लिए उपयोग किया जाता है - जो कि आमतौर पर कुछ 3rd कंप्यूटर के माध्यम से फ़ाइलों को स्थानांतरित करने की तुलना में बहुत तेज है।

Rsync कुछ काम करने के लिए पर्याप्त स्मार्ट है, फिर अगर कुछ भी गलत हो जाता है और प्रक्रिया में बाधा उत्पन्न होती है, तो यह बाद में वहीं से फिर से शुरू हो सकता है, जहां आपने छोड़ा था।


0

आपको एससीपी प्रोटोकॉल का उपयोग करने की आवश्यकता है। scp file you want to transfer login@address_of_second_server:/path_where_you_want_to_save


2
ओपी दो दूरस्थ कंप्यूटरों के बीच फ़ाइलों की प्रतिलिपि बनाना चाहता है, स्थानीय कंप्यूटर से दूरस्थ कंप्यूटर तक नहीं। वह भी GUI समाधान की तलाश में है।
user68186

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