मेरे पास सर्वर पर एक बड़ी फ़ाइल है one
और मैं इसे सर्वर two
का उपयोग करके कॉपी करना चाहता हूं scp
। मेरे पास कुंजी सेटअप ठीक से है और मैं अपने डेस्कटॉप से दोनों सर्वरों के लिए ssh / scp कर सकता हूं।
जिस फ़ाइल को मुझे कॉपी करने की आवश्यकता है वह मेरे वर्कस्टेशन के hdd पर मुफ्त स्पेस से बड़ी है, इसलिए मैं ऐसा करना चाहता था:
scp one:/opt/bigfile.tar.gz two:/opt/bigfile.tar.gz
लेकिन मुझे मिल गया:
ssh: Could not resolve hostname one: Name or service not known
हमारे यहां डीएनएस नहीं है (मुझसे पूछें क्यों नहीं), इसलिए मेरे पास यह मेरे ~ / .ssh / config में है:
Host one
Hostname <IP address of server one>
User jspurny
Host two
Hostname <IP address of server two>
User jspurny
यदि मैं एक छोटी फ़ाइल के साथ प्रयास करता हूं और इसे one
अपने कार्य केंद्र से और फिर इसे स्थानांतरित करता हूं two
, तो यह ठीक काम करता है:
scp one:/opt/smallerfile.tar.gz .
scp smallerfile.tar.gz two:/opt/
टिप्पणी में सुझाए गए आईपी पते का उपयोग करते समय, मुझे मिला:
$ scp jspurny@<one's IP>:bigfile.tar.gz jspurny@<two's ip>:bigfile.tar.gz
Host key verification failed.
lost connection
कोई समस्या नहीं:
आकार यहां कोई समस्या नहीं है - यह इस समस्या के लिए केवल "ट्रिगर" था क्योंकि bigfile.tar.gz
मेरे वर्कस्टेशन पर स्टोर करने का कोई तरीका नहीं था । समस्या फ़ाइल आकार की परवाह किए बिना होती है।
सवाल:
कमांड क्यों करता है:
scp oneremote:file secondremote:file
अगर .ssh/config
एलियंस का उपयोग करते हुए या सीधे आईपी पते का उपयोग करते हुए एक त्रुटि होती है ?
हल - की तरह - अभी भी स्पष्टीकरण की तलाश में - मैंने बड़ी फाइल को छोटी फ़ाइलों में विभाजित किया है और उन्हें अपने कार्य केंद्र के माध्यम से एक-एक करके स्थानांतरित किया है। मैं अभी भी सोच रहा था कि यह काम क्यों नहीं किया। इसलिए मैं अभी भी कुछ स्पष्टीकरण की सराहना करूंगा कि क्या गलत था ..
एक कारण मिला कि यह विफल क्यों होता है: ऐसा लगता है कि मैं मूर्ख बन रहा था। मुझे लगा कि आज्ञा
scp one:file two:file
प्रत्येक सर्वर के लिए दो कनेक्शन बना रहा था और फिर एक से डेटा प्राप्त करता है और तुरंत उन्हें दो को भेजता है और इस प्रकार रिले की तरह काम करता है।
यह स्पष्ट रूप से मामला नहीं है, क्योंकि एक सरल -v
विकल्प से पता चला है कि यह वास्तव में सिर्फ एक से जोड़ता है और एक से यह दो से जुड़ने की कोशिश करता है । जो स्पष्ट रूप से संभव नहीं है क्योंकि सर्वर एक को दो से कनेक्ट करने वाला नहीं है ।