क्या आपको rsync के लिए -s ssh की आवश्यकता है?


22

मैं हमेशा सर्वर से कॉपी करते समय निम्न कमांड का उपयोग करता था rsync --progress -avze ssh user@host:/path/to/files ./here:। हालांकि, मन के एक दोस्त ने मुझे दिखाया कि मैं बस कर सकता हूं rsync --progress -avz user@host:/path/to/files ./here। तो सवाल यह है कि अगर आपको इसकी आवश्यकता -e sshनहीं है तो यह वैसे भी क्यों है?

जवाबों:


20

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

rsync -e 'ssh -p 2222' /source usr@host:/dest

इसके आस-पास होने का एक विकल्प, 2 फाइलें हैं जो आप उपयोग कर सकते हैं। /etc/ssh/ssh_configया~/.ssh/config

कॉन्फ़िगरेशन फ़ाइल के रूप में एक ही प्रारूप का उपयोग करता है ssh_config। यह केवल प्रति उपयोगकर्ता आधार पर कॉन्फ़िगर किया जा सकता है!


9

तुम भी आवश्यकता होगी -eयदि आप एक गैर-डिफ़ॉल्ट निजी कुंजी स्थान, यानी उपयोग करते हैं, के माध्यम से निजी कुंजी निर्दिष्ट -e 'ssh -i /path/to/private/key/file.pem'। उस मामले के लिए, sshd के लिए गैर-डिफ़ॉल्ट श्रवण पोर्ट भी। असल में, -eअगर ssh user@hostकाम नहीं करता है तो उपयोग करें ।


है -issh या अपने उदाहरण में rsync के लिए एक विकल्प? और अगर यह ssh के लिए है, तो क्या यह कमांड के चारों ओर सिंगल कोट्स के बिना काम करता है?
इज़्काता

ओह, ठीक है, मुझे उद्धरण की आवश्यकता है। मेरे उत्तर का संपादन अब।
cjc

8

आपको ssh का उपयोग करने के लिए -s ssh की आवश्यकता नहीं है। वास्तव में, यदि आप उपयोगकर्ता @ होस्ट: / पथ / से / फ़ाइलों के रूप में लक्ष्य निर्दिष्ट करते हैं, तो आप डिफ़ॉल्ट रूप से ssh का उपयोग कर रहे हैं। यह संगतता कारणों और ख) फ्रिंज मामलों में जहां आप rsyncd और ssh होस्ट का एक संयोजन हो सकता है में छोड़ दिया है।


2
यह RHEL 3 पर आवश्यक है, उदाहरण के लिए, RSYNC_RSH 'rsh' के लिए डिफ़ॉल्ट है।
काइल स्मिथ

5

यह --with-rshसंकलन समय पर कॉन्फ़िगर विकल्प के लिए निर्दिष्ट किया गया था पर निर्भर करता है । यदि यह विकल्प निर्दिष्ट नहीं किया गया था तो डिफ़ॉल्ट अब ssh है। यह अतीत में कुछ समय पर rsh था, हालांकि अगर यह rsh है, तो भी यह आवश्यक नहीं हो सकता है क्योंकि ssh कई बक्से पर डिफ़ॉल्ट rsh कार्यान्वयन हो सकता है। मेरे सभी मशीनों पर, उदाहरण के लिए, readlink -f $(which rsh)पता चलता है कि rsh वास्तव में सिर्फ / usr / sbin / ssh की ओर इशारा करते हुए एक सिम्लिंक है

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