SSH में, मैं अपने स्थानीय सिस्टम में कैसे एमवी कर सकता हूं?


129

मैंने sshअपने वेबहोस्ट की डायरेक्टरी में, और tarडाउनलोड करने के लिए वेबडैप का -ed किया। जब मैं करने की कोशिश mvकरने ~/mydirectory/backupsया /home/mydirectory/backups, यह webhost कि मैं में ssh'ed कर रहा हूँ पर मेरे रूट के रूप में "घर" को परिभाषित करता है।

मैं वेबहोस्ट सिस्टम के अंदर रहते हुए एक स्थानीय ड्राइव के लिए sv में कैसे एमवी कर सकता हूं?


आप किस ओएस से जुड़ रहे हैं?
जोडैच

जवाबों:


181

पहली चीजें पहले: ssh दूसरे कंप्यूटर में दूरस्थ रूप से लॉगिन करने का एक तरीका है। आपके द्वारा ssh (बहुत अधिक) के बाद मिलने वाला शेल (कमांड लाइन) वैसा ही है जैसे आपने रिमोट मशीन में xterm खोला था। यदि फ़ाइलों को स्थानांतरित करने का ऐसा कोई तरीका नहीं है।

हालाँकि, यह तथ्य कि दूरस्थ कंप्यूटर ssh कनेक्शन स्वीकार करता है, आपको फ़ाइलों के आदान-प्रदान के लिए कुछ विकल्प देता है:

Scp का उपयोग करें अपने स्थानीय कंप्यूटर से दूरस्थ में टाइप करने के लिए, स्थानीय कंप्यूटर में टाइप करें:

scp /tmp/file user@example.com:/home/name/dir

(जहां / tmp / फ़ाइल को किसी भी स्थानीय फ़ाइल और / घर / नाम / किसी दूरस्थ निर्देशिका के साथ dir से बदला जा सकता है)

दूरस्थ कंप्यूटर से स्थानीय एक में कॉपी करने के लिए, स्थानीय कंप्यूटर में टाइप करें :

scp user@example.com:/home/name/dir/file /tmp

Sshfs का उपयोग करें यह थोड़ा और अधिक उन्नत है, लेकिन बहुत अच्छा है (जब दोनों कंप्यूटरों का इंटरनेट कनेक्शन अच्छा है। यदि नहीं, तो scp से चिपके रहें)।

आप दूरस्थ कंप्यूटर से निर्देशिका को स्थानीय कंप्यूटर की (खाली) निर्देशिका में "लिंक" कर सकते हैं। आप अपने कंप्यूटर में / लिंक / दूरस्थ कंप्यूटर से / कुछ / रिमोट / डीर / "रिमार्स" कहें या आपके कंप्यूटर में रीमोटेकोम्प। यदि दूरस्थ कंप्यूटर में कोई फ़ाइल / कुछ / दूरस्थ / dir / फ़ाइल है, तो आप इसे / home / youruser / remotecomp / फ़ाइल पर देख सकते हैं। आप हमेशा की तरह कॉपी और एमवी कर सकते हैं, और आप दूरस्थ फ़ाइलों और डायर को भी बदल सकते हैं।

हालाँकि, ध्यान दें कि जब कनेक्शन समाप्त हो जाता है, / home / youruser / remotecomp फिर से एक खाली dir बन जाता है, और आप केवल स्थानीय कंप्यूटर में उन फ़ाइलों को रखते हैं जिन्हें आप अन्य निर्देशिकाओं में कॉपी करते हैं।

इसे पाने के लिये:

1) स्थापित sshfs:

sudo apt-get install sshfs

2) एक खाली डायर बनाएं

mkdir /home/youruser/remotecomp

3) "लिंक" दो निर्देशिकाओं (सही शब्द माउंट है)

sshfs user@server.com:/some/remote/dir /home/youruser/remotecomp

4) आनंद लें

5) dirs को "अनलिंक" करें

fusermount -u /home/youruser/remotecomp

यदि स्थानीय कंप्यूटर विंडोज़ चलाता है, तो आप विंडोज़ के scpलिए संस्करण पा सकते हैं । देखें, जैसे, wincp


क्या रिमोट मशीन से स्थानीय मशीन में "रिमोट मशीन पर टर्मिनल" के माध्यम से फाइल को कॉपी करने का एक तरीका है? आपके मामले में, आपने स्थानीय मशीन पर टर्मिनल का उपयोग किया। मैं एक ऐसी स्थिति के बारे में बात कर रहा हूं जहां स्थानीय मशीन विंडोज़ है और रिमोट ubuntu है और मैं ssh के माध्यम से दूरस्थ मशीन में लॉग इन हूं।
चंदेश

आमतौर पर नहीं। जहां तक ​​मुझे पता है, "रिमोट मशीन में टर्मिनल" के माध्यम से कॉपी करने का मतलब है कि आपको "स्थानीय मशीन" में एक एसएसएच सर्वर की आवश्यकता है (मैं जानबूझकर अपने जवाब के दौरान छोड़ दिया, लेकिन "तथ्य यह है कि दूरस्थ कंप्यूटर ssh कनेक्शन स्वीकार करता है" का मतलब है कहने के लिए "तथ्य यह है कि दूरस्थ कंप्यूटर एक ssh सर्वर चला रहा है")
josinalvo

हालांकि, आप विंडोज़ के लिए "एससीपी क्लाइंट" पा सकते हैं। उदाहरण के लिए, wincp.net/eng/download.php
josinalvo

मुझे sshfsविकल्प पसंद है
फिबो कोवाल्स्की

यदि आप एक बड़ी फ़ाइल स्थानांतरित कर रहे हैं, तो ss पर rsync का उपयोग करें rsync -P -e ssh /tmp/file user@example.com:/home/name/dir। ऐसा इसलिए है क्योंकि यदि फ़ाइल स्थानांतरण आधे रास्ते से विफल हो जाता है, scpतो बस फ़ाइल को हटा दिया जाएगा। दूसरी ओर, यदि आप विकल्प के rsyncसाथ उपयोग करते हैं, तो -Pयह दूरस्थ मशीन पर एक अधूरी फ़ाइल रखेगा और जब आप स्थानांतरण को पुनः आरंभ करेंगे, तो यह सुनिश्चित करेगा कि दूरस्थ मशीन पर पहले से ही आपके स्थानीय मशीन पर फ़ाइल से क्या मेल खाता है तब जारी रखें, जहां स्थानांतरण छोड़ दिया गया था।
बोरिस

16

आप उपयोग कर सकते हैं scpया rsync। आपके स्थानीय सिस्टम में:

scp remoteuser@remotehost:/remote/dir/file /local/dir/

लेकिन, जब से आपने बैकअप का उल्लेख किया है, मुझे लगता है कि यह वृद्धिशील होगा और आपको इसे हर हाल में करने की आवश्यकता होगी। तो, rsyncवृद्धिशील बैकअप के लिए एक बेहतर विकल्प है। अपने स्थानीय शेल पर:

rsync -avz -e ssh remoteuser@remotehost:/remote/dir /local/dir/

देखें rsync(1)और scp(1)विकल्पों के लिए आदमी पृष्ठों।


10

आप scp सिक्योर कॉपी का उपयोग कर सकते हैं ।

आप स्थानीय शेल से:

scp -C username@webhost:/path/of-the/tar.archive /home/mydirectory/backups/

यह उदाहरण आपके वेबहोस्ट के /path/of-the/tar.archive / घर / mydirectory / बैकअप / से ssh के माध्यम से कॉपी करेगा

अतिरिक्त विकल्प:

-सी : संपीड़न को सक्षम करता है


6

मुझे भी यही समस्या थी। यहां जानिए आसान उपाय: -

  1. ओपन नॉटिलस (फ़ाइल एक्सप्लोरर)
  2. + Other Locationsबाएं पैनल के निचले भाग पर क्लिक करें ।
  3. नीचे एक पट्टी है Connect to server। इनपुट बॉक्स में ssh एड्रेस लिखें जैसे कि ssh://111.222.333.444/
  4. खुलने वाले संवाद बॉक्स में अपना उपयोगकर्ता नाम और पासवर्ड डालें।
  5. सफल प्रमाणीकरण पर आप homeदूरस्थ स्थान पर होंगे। फाइल को इधर-उधर करने के लिए स्वतंत्र महसूस करें।

बहुत बढ़िया जवाब! वास्तविक प्रश्न के उत्तर के लिए सरल और निकटतम, यानी आप ssh रिमोट कंप्यूटर के भीतर से कैसे एमवी करते हैं। इसका उत्तर यह है कि आप स्थानीय कंप्यूटर से ऐसा नहीं कर सकते। या यह! आप इसे अपने एक्सप्लोरर से रेखांकन के रूप में करते हैं ताकि कम से कम उपयोगकर्ता को यह वास्तव में ऐसा लगे कि आप फ़ाइलों को सीधे रिमोट से स्थानीय में स्थानांतरित कर सकते हैं।
Kvothe

2

अन्य उत्तर अनुशंसा करते हैं rsyncया scp, दोनों में आपको दूरस्थ मशीन पर उस फ़ाइल का स्थान जानना होगा जिसे आप कॉपी करना चाहते हैं।

यदि आप इसके बजाय दूरस्थ मशीन पर चारों ओर प्रहार करने में सक्षम होना चाहते हैं, जैसे आप कर सकते हैं ssh, तो आप चलाना चाहते हैं sftp। सर्वर में प्रवेश करना बहुत समान है ssh, लेकिन एक बार जब आप अंदर आते हैं, तो helpकमांड की सूची प्राप्त करने के लिए टाइप करें - यह आपको स्थानीय और दूरस्थ दोनों मशीनों पर खुद को घुमाने ले जाता है, और फ़ाइलों को आसानी से आगे और पीछे स्थानांतरित करता है।


1

यह अजीब है कि यह अंदर से असंभव है ssh। एक नियमित टर्मिनल में, कोई भी zmodem कमांड का उपयोग करके फाइल भेज / प्राप्त कर सकता है।

इससे Google को मदद मिली zssh: http://zssh.sourceforge.net/ । मूल के लिए एक आवरण के रूप में इसे चलाना होगा ssh

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