निजी कुंजी के साथ rsync कैसे करें?


6

मैं अपने macOS मशीन से उबंटू सर्वर पर rsync करने की कोशिश कर रहा हूं जो Windows Azure पर चल रहा है। इसे करने के लिए, मुझे निम्नलिखित कार्य करने होंगे:

 $ ssh -i  myPrivateKey.key -p 22 me@me.cloudapp.net

मुझे लगता है कि कुंजी फ़ाइल एक X509 सार्वजनिक कुंजी हो सकती है, अगर वह मदद करती है (क्षमा करें, मैं कोई sysadmin नहीं हूं)। वैसे भी, मैं उपरोक्त आदेश के साथ सफलतापूर्वक ssh कर सकता हूं।

अब मैं दूरस्थ सर्वर पर rsync फ़ाइलों को चाहूंगा। क्या मुझे .keyकिसी विकल्प के रूप में फ़ाइल की आपूर्ति करने की आवश्यकता है ?

सामान्य rsync आदेश विफल रहता है:

$ sudo rsync -avz -e my/file me@me.cloudapp.net:/my/path
    rsync: Failed to exec my/file: Permission denied (13)
rsync error: error in IPC code (code 14) at /SourceCache/rsync/rsync-42/rsync/pipe.c(86) [receiver=2.6.9]
    rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
    rsync error: error in rsync protocol data stream (code 12) at /SourceCache/rsync/rsync-42/rsync/io.c(452) [receiver=2.6.9]

जवाबों:


9

आदेश गलत कुंजियों के कारण विफल नहीं होता है, लेकिन क्योंकि आप rsync को my/fileइसके बजाय चलाने के लिए कह रहे हैंssh ( -eविकल्प का उपयोग करके , जो इसके बाद आने वाले शब्द को उठाता है)। -eपहले विकल्प को हटा दें ।

चूंकि rsyncआम तौर sshपर कनेक्ट करने के लिए उपयोग किया जाता है, आप क्लाउड से कनेक्ट करने के लिए किसी विशेष कुंजी का उपयोग करने के लिए दोनों को हमेशा कॉन्फ़िगर कर सकते हैं । उदाहरण के लिए, इसे अपनी ~/.ssh/configफ़ाइल के शीर्ष पर रखें :

Host me.cloudapp.net
    Username me
    IdentityFile ~/my-cloudapp-key.key
    IdentitiesOnly yes

यह Username meभाग आपको me@ssh या rsync का उपयोग करते समय जोड़ना छोड़ देगा । सादा rsync -avz my/file me.cloudapp.net:/my/pathकाम करेंगे।


नोट: SSH कुंजियाँ X.509 प्रमाणपत्र नहीं हैं; वे बिना किसी अतिरिक्त जानकारी के सीधे सादे आरएसए या ईसीडीएसए कीपर्स हैं।


1
उबंटू पर Userइसके बजाय लगता हैUsername
थॉमस वेलर

यदि आपको 22 से भिन्न पोर्ट की आवश्यकता है, तो आप एक पंक्ति जोड़ सकते हैं Port 8023। वैकल्पिक रूप से आपको --rsh='ssh -p8023'सीधे कमांड लाइन में जोड़ना होगा ।
TheStoryCoder
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.