एसएसएच एससीपी स्थानीय फ़ाइल टर्मिनल मैक ओएस एक्स में रिमोट के लिए


90

मैं अपने स्थानीय मशीन से एक स्थानीय फ़ाइल 'magento.tar.gz' को एक वीपीएन के माध्यम से एसएसएच का उपयोग करके दूरस्थ सर्वर पर कॉपी करने का प्रयास कर रहा हूं। यह वर्चुअल मशीन के आंतरिक आईपी से कनेक्ट हो रहा है जिसे मैंने यहां xx.xxxx के रूप में उपयोग किया है।

मेरे पास SSH खाते पर पूर्ण 'sudo' की पहुँच है, इसलिए किसी भी समस्या की भरपाई नहीं होनी चाहिए। मैंने निम्नलिखित कोशिश की है:

मैंने निम्नलिखित कोशिश की है (magento.tar.gz फ़ाइल पहले से ही स्थानीय रूट dir में है)

sudo scp magento.tar.gz user@xx.x.x.xx/var/www/

यह मुझे अपने स्थानीय पासवर्ड में टाइप करने के लिए कहता है। बाद में लौटता हैcp: user@xx.x.x.xx/var/www: Not a directory

sudo scp /Users/myname/magento.tar.gz user@xx.x.x.xx/var/www/

वही लौटाता है।

क्या मुझे कहीं भी SSH को शामिल करने की आवश्यकता है?

क्या मुझे पहले एसएसएच के माध्यम से साइट से जुड़ने की आवश्यकता है?

साइड नोट: मैं एसएसएच के माध्यम से सर्वर से कनेक्ट करने, निर्देशिका में ब्राउज़ करने और एक फ़ोल्डर बनाने और इसे sudo mkdirआदि का उपयोग करके हटाने में कामयाब रहा हूं, इसलिए मेरे पास निश्चित रूप से अनुमति है।

जवाबों:


202

:पथ का अनुसरण करने के लिए पहले, आपको आईपी ​​पते के बाद जोड़ने की आवश्यकता है:

scp magento.tar.gz user@xx.x.x.xx:/var/www

मैं तुम्हें करने की जरूरत नहीं लगता है । इस मामले में यह रिमोट मशीन को प्रभावित नहीं करता है, केवल स्थानीय कमांड।sudoscp

तब यदि आपके user@ xx.xxxx की पहुंच नहीं है, /var/wwwतो आपको इसे 2 बार करने की आवश्यकता है:

अपने होम फ़ोल्डर में रिमोट सर्वर पर कॉपी करें ( :अपने रिमोट होम फ़ोल्डर का उपयोग करें, :subfolder/यदि आवश्यक हो, या :/home/user/पूर्ण पथ के लिए उपयोग करें ):

scp magento.tar.gz user@xx.x.x.xx:

फिर SSH और फ़ाइल को स्थानांतरित करें:

ssh user@xx.x.x.xx
sudo mv magento.tar.gz /var/www

धन्यवाद। मैंने इसे बृहदान्त्र के साथ आज़माया, लेकिन अनुमति प्राप्त करने से इनकार कर दिया - मुझे सूचित किया गया है कि मेरे पास पूर्ण सुडोकू पहुंच है इसलिए अनुमतियां एक मुद्दा नहीं होनी चाहिए।
जेम्स

1
धन्यवाद!!! मुझे SSH को रिमोट और pwd करना था कि मुझे कौन सी डिफॉल्ट डायरेक्टरी मिली, जिसे मैं घर / यूजरनेम - scp magento.tar.gz user@xx.xxxx: / home / यूजरनेम / ट्रिक में ले गया था!
जेम्स

19

JScoobyCed द्वारा दिए गए उत्तर को स्पष्ट करने के लिए, scp कमांड उन फाइलों को कॉपी नहीं कर सकता है जिनकी प्रशासनिक अनुमति की आवश्यकता है। हालाँकि, आप दूरस्थ उपयोगकर्ता से संबंधित निर्देशिकाओं की प्रतिलिपि बनाने के लिए scp कमांड का उपयोग कर सकते हैं।

इसलिए, रूट निर्देशिकाओं की आवश्यकता वाले निर्देशिका की प्रतिलिपि बनाने के लिए, आपको सबसे पहले उस फाइल को कॉपी करना होगा जो दूरस्थ उपयोगकर्ता से संबंधित निर्देशिका के लिए स्कैप कमांड का उपयोग कर रही है। अगला, आपको ssh का उपयोग करके दूरस्थ खाते में लॉगिन करना होगा। एक बार लॉग इन करने के बाद, आप sudo mv कमांड का उपयोग करके फ़ाइल को अपने चयन की निर्देशिका में ले जा सकते हैं। संक्षेप में, उपयोग करने के आदेश इस प्रकार हैं:

दूरस्थ उपयोगकर्ता के खाते में किसी निर्देशिका में scp, कॉपी फ़ाइल का उपयोग करना, उदाहरण के लिए दस्तावेज़ निर्देशिका:

scp /path/to/your/local/file remoteUser@some_address:/home/remoteUser/Documents

अगला, ssh का उपयोग करके दूरस्थ उपयोगकर्ता के खाते में लॉगिन करें और फिर फ़ाइल को sudo का उपयोग करके प्रतिबंधित निर्देशिका में ले जाएं:

ssh remoteUser@some_address
sudo mv /home/remoteUser/Documents/file /var/www

0

देखें कि आपके फ़ाइल का नाम :उनमें नहीं है। मैंने पाया कि मैं करना पड़ा mv blah-07-08-17-02:69.txt no_colons.txtऔर उसके बाद scp no-colons.txt server:तो मत भूलना करने के लिए mvसर्वर पर वापस। बस इस मामले में यह एक मुद्दा था।


1
यह एक समस्या नहीं है अगर आप ./स्थानीय नाम से पहले जोड़ते हैं , जैसेscp ./blah-07-08-17-02:69.txt server:
एंडर्स टॉर्ब्लाड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.