कैसे सर्वर पर पहले से ही ssh'd में फ़ाइलों को हस्तांतरित करने के लिए


13

मैं इस कमांड का उपयोग करके फाइल ट्रांसफर करता हूं

scp <localfile> user@host:<destination>

उपरोक्त कमांड केवल तभी काम करता है जब मैं सर्वर में ssh'd नहीं होता।

जब मैं पहले से ही ssh'd हूँ मैं स्थानीय फ़ाइलों को होस्ट मशीन में कैसे स्थानांतरित करूँ?

मैं उपयोग करने में ssh ssh user@hostname


2
क्या ओएस? एक और टर्मिनल खोलें और scp कमांड का उपयोग करें
Impulss

1
यह सेंट है। Thats मैं अब तक क्या कर रहा हूँ। मैं अभी कुछ और सुविधाजनक होने की उम्मीद कर रहा था।
सर्वव्यापी

जवाबों:


5

अच्छा प्रश्न। scpफिर से, लेकिन इसके विपरीत तरीका। मैंने इसे किया और यहाँ यह है:

chris@local ~$ ls hos*
hosts
chris@local ~$ ssh remote
Last login: Fri Mar  8 15:52:25 2013 from local
chris@remote ~$ scp chris@local:hos* .
chris@local's password: 
hosts                                              100% 1850     1.8KB/s   00:00    
chris@remote ~$ ls hos*
hosts
chris@remote ~$ 

जोड़ने के लिए संपादित किया गया: जैसा कि टिप्पणियों में बताया गया है, इसके लिए यह आवश्यक है कि दूरस्थ कंप्यूटर स्थानीय कंप्यूटर तक पहुंच बना सके। और sshd या (ओपनश-सर्वर) को स्थानीय मशीन पर स्थापित और चलाने की आवश्यकता है।


3
यह मान लीजिए कि स्थानीय मशीन रिमोट से पहुंच योग्य है और यह हमेशा सच नहीं होता है।
लॉरेंट

हालांकि, अगर यह सच है तो यह अच्छी तरह से काम करेगा।
डेव्यूलेस

3

यह जानने में मदद मिलेगी कि आप मेजबान मशीन पर क्या चल रहे हैं। यदि आप लिनक्स का उपयोग कर रहे हैं,

scp user@host:/path/myfile .

कार्य करना चाहिए।


user @ host एक रिमोट मशीन है जो मैंने प्रश्न पर समझी थी इसलिए यह कमांड लोकल मशीन से रिमोट एक में फाइल कॉपी नहीं करेगी लेकिन रिमोट से लोकल तक अगर होस्ट में SSHed नहीं है और रिमोट से ही कॉपी करेगा SSHed।
लॉरेंट

मुझे लगता है कि प्रश्न में कुछ अस्पष्टता है। मेरे लिए, user@hostजो भी वर्तमान में आप नियंत्रित नहीं कर रहे हैं, कंप्यूटर को देखें। इसलिए, जब ओपी रिमोट कंप्यूटर में लॉग इन नहीं होता है, तो user@hostरिमोट कंप्यूटर होता है। जब ओपी को दूरस्थ कंप्यूटर में लॉग इन किया जाता है, तो user@hostस्थानीय कंप्यूटर होता है। अगर मेरी धारणा सही है, तो यह उत्तर समझ में आता है।
डेविलेलेस

यही कारण है कि मैं कैसे के रूप में अच्छी तरह से सवाल की व्याख्या की, Daviewales। इसके अलावा, आप सही हैं, उपयोगकर्ता @ होस्ट जो कुछ भी आपके कार्यस्थान का प्रतिनिधित्व करेगा, वर्तमान में मेरे विचार से काम नहीं कर रहा है। मैंने इस पर बहस की कि क्या मेरी प्रतिक्रिया में इसे और अधिक स्पष्ट किया जा सकता है, लेकिन लगा कि यह निहित होगा।
जोश

वैसे भी, यदि उपयोगकर्ता @ होस्ट स्थानीय मशीन का प्रतिनिधित्व करता है, जब उपयोगकर्ता रिमोट मशीन पर लॉग इन होता है (जैसा कि ओपी ने कहा कि वह स्थानीय फ़ाइलों को होस्ट मशीन में स्थानांतरित करना चाहता है), यह तभी काम करेगा जब स्थानीय मशीन रिमोट से पहुंच योग्य हो पर (आमतौर पर यदि वे एक ही लैन में होते हैं) और ऐसे परिदृश्य में नहीं जहां रिमोट मशीन इंटरनेट पर है और स्थानीय मशीन में कोई निश्चित आईपी नहीं है।
लॉरेंट

0

यदि आपके पास अपनी स्थानीय मशीन पर वापस जाने का रास्ता है (आपकी स्थानीय मशीन रिमोट से सुलभ है - आमतौर पर जब दोनों मशीनें एक ही LAN में होती हैं), तो रिमोट मशीन से scp का उपयोग करके काम करना चाहिए ( scp local:/path-to-file .)।

यदि आपकी स्थानीय मशीन को रिमोट से नहीं पहुँचा जा सकता है (आमतौर पर अगर आपका रिमोट इंटरनेट पर VPS है और आपके स्थानीय मशीन में डायनेमिक IP है), तो आपका सबसे अच्छा तरीका है कि आप स्थानीय मशीन पर एक नया टर्मिनल खोलें और फ़ाइल की प्रतिलिपि बनाएँ।

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


-1

रिमोट सिस्टम में लॉग इन करते समय (फाइल लोकेशन में सीडी को आसान करना) sudo scp file_location / file_name उपयोगकर्ता @ होस्ट: file_location

रिमोट सिस्टम से बाहर लॉग इन करते समय sudo scp authoried_user @ hostname: file_location / file_name new_location_on_local_machine

ध्यान दें: याद रखें, रिमोट सिस्टम से लॉग आउट करते समय, यदि इसका नया टर्मिनल, पहला पासवर्ड sudo पासवर्ड होगा, तो दूसरा पासवर्ड अधिकृत उपयोगकर्ता पासवर्ड होगा। यदि आपने उस विशेष टर्मिनल से पहले sudo-ed किया है, तो इसका केवल अधिकृत उपयोगकर्ता पासवर्ड u की आवश्यकता है। इन के लिए देखो, यह इसे मुश्किल बना देता है।

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