अब तक, सबसे आसान तरीका यह है कि इसे केवल स्कैप के माध्यम से कॉपी किया जाए। साथ ही, यह सिंटैक्स वास्तव में कुछ अन्य सुझावों के विपरीत काम करता है।
आप इस वाक्य रचना को आसानी से नहीं हरा सकते हैं। यह आपको संभावित रूप से जटिल पाइपों पर विचार करने की परेशानी के बिना पुनरावर्ती, rsync या कभी भी आपको क्या चाहिए, की अनुमति देता है। यह वाक्यविन्यास सहज रूप से स्पष्ट है, Sys Admins द्वारा अधिक आसानी से सहायक होगा जो आपका अनुसरण करता है और बिल्ली का बेकार उपयोग नहीं करता है ।
scp -3 devappserver:/path/to/copy/from qaappserver:/path/to/copy/to
से SCP आदमी पेज : -3
दो दूरदराज के मेजबान के बीच प्रतियां स्थानीय होस्ट के माध्यम से स्थानांतरित कर रहे हैं। इस विकल्प के बिना डेटा को सीधे दो दूरस्थ होस्ट के बीच कॉपी किया जाता है। ध्यान दें कि यह विकल्प प्रगति मीटर को अक्षम करता है।
नीचे दिए गए उदाहरण में
- आपके वर्कस्टेशन का नाम मैकबुक-प्रो है।
- Dev Jump Box का नाम devjumpserver है
- Dev Application Server का नाम devapplicationserver है
- LAN DNS ज़ोन पर है जिसका नाम .local है
- QA जंप बॉक्स का नाम qajumpserver है
- QA अनुप्रयोग सर्वर का नाम qaapplicationserver है
- LAN DNZ ज़ोन पर है जिसका नाम .local है
- हम 670GB / etc / होस्ट फ़ाइल की एक परीक्षण प्रतिलिपि बनाएँ ;-)
- मान लिया जाता है कि आपके पास SSH सार्वजनिक कुंजी प्रमाणीकरण कॉन्फ़िगर है।
यहां एक ~ / .ssh / config फाइल है जो आपके वर्कस्टेशन से एप्लिकेशन सर्वर तक सीधे पहुंच को उचित जंप (उर्फ बस्टियन सर्वर) के माध्यम से सेट करती है।
मैकबुक-प्रो: ~ barrychapman $ cat ~ / .ssh / config
मेज़बान *
ServerAliveInterval 60
यजमान भक्तिनाशक
HostName devapplicationserver.local
ProxyCommand ssh -i ~ / .ssh / id_rsa barrychapman@devjumpserver.example.com -W% h:% p
उपयोगकर्ता बैरीकैपमैन
मेजबान qaapplicationserver
HostName qaapplicationserver.local
ProxyCommand ssh -i ~ / .ssh / id_rsa barrychapman@qajumpserver.example.com -W% h:% p
उपयोगकर्ता बैरीकैपमैन
मैकबुक-प्रो: ~ बैरीचैपमैन $
लक्ष्य सर्वर पर फ़ाइल की उपस्थिति के लिए परीक्षण, यह वहाँ नहीं होगा।
मैकबुक-प्रो: ~ barrychapman $ ssh qaapplicationserver ls / tmp / मेजबान
ls: एक्सेस / tmp / मेजबान नहीं कर सकता: ऐसी कोई फ़ाइल या निर्देशिका नहीं
संकेत द्वारा मारे गए 1।
मैकबुक-प्रो: ~ बैरीचैपमैन $
अब अपने वर्कस्टेशन के माध्यम से देव एप्लीकेशन सर्वर से क्यूए एप्लीकेशन की फाइल कॉपी करें।
मैकबुक-प्रो: ~ बैरीचैपमैन $ एसपी -3 डेप्लिकेशंसरवर: / etc / होस्ट्स qaapplicationserver: / tmp /
संकेत द्वारा मारे गए 1।
संकेत द्वारा मारे गए 1।
मैकबुक-प्रो: ~ बैरीचैपमैन $
अब QA एप्लिकेशन सर्वर पर कॉपी की गई फ़ाइल की उपस्थिति की जांच करें। यह इस समय वहाँ होगा।
मैकबुक-प्रो: ~ barrychapman $ ssh qaapplicationserver ls / tmp / मेजबान
/ Tmp / hosts
संकेत द्वारा मारे गए 1।
मैकबुक-प्रो: ~ बैरीचैपमैन $
ध्यान दें
ProxyCommand कनेक्शन बंद करते समय, आपको चेतावनी संदेश "सिग्नल 1 से मार दिया" दिखाई देगा। यह SSH ProxyCommand कनेक्शन को फाड़ रहा है और इसके बारे में चिंतित होने के लिए कुछ भी नहीं है। आप LogLevel Quiet
अपने गढ़ होस्ट कॉन्फ़िगर श्लोक में जोड़कर इससे छुटकारा पा सकते हैं ।