अतीत में, जिस तरह से scp
काम किया, जब रिमोट सिस्टम के बीच फ़ाइलों को कॉपी करने के लिए ( भोले रूप से ) कहा जाता था, तो बहुत असुविधाजनक था: यदि आपने लिखा है, उदाहरण के लिए
scp user1@remote1:/home/user1/file1.txt user2@remote2:/home/user2/file1.txt
scp
पहले ssh
रिमोट 1 पर एक सत्र खोलेगा, और फिर यह scp
वहाँ से रिमोट 2 तक चलेगा। इस काम के लिए, आपको रिमोट 1 पर रिमोट 2 के लिए प्राधिकरण क्रेडेंशियल्स सेट करना होगा।
इसे करने का आधुनिक तरीका, इसके बजाय, ("आधुनिक" क्योंकि यह केवल कुछ साल पहले लागू किया गया था, और शायद हर किसी के पास एक- -3
योग्य नहीं है scp
) को दो चरणों की आवश्यकता होती है। पहला आवश्यक कदम यह है ~/.ssh/config
कि रिमोट 1 और रिमोट 2, दोनों के कनेक्शन के लिए सभी विकल्प सेट करें।
Host remote1.example.org
Port 2222
IdentityFile /path/to/host1-id_rsa
Host remote2.example.org
Port 6969
IdentityFile /path/to/host2-id_rsa
इस तरह से यह आदेश के लिए सभी आवश्यक विकल्प पारित करने के लिए संभव हो जाता है अस्पष्टता के बिना : उदाहरण के लिए, अगर हम CLI पर कहा था कि उपयोग बंदरगाह 2222 से ऊपर विन्यास के बिना, यह स्पष्ट नहीं है कि क्या हम की चर्चा करते हुए किया गया हो गया होता remote1 या करने के लिए remote2 , और इसी तरह क्रिप्टोग्राफिक कुंजी वाली फ़ाइल के लिए। इस तरह सीएलआई सुव्यवस्थित और सरल बना हुआ है।
दूसरे, -3
विकल्प का उपयोग करें , इस प्रकार है:
scp -3 user1@remote1:/home/user1/file1.txt user2@remote2:/home/user2/file1.txt
-3
विकल्प का निर्देश scp
पीसी जिस पर आदेश जारी किया जाता है, भले ही यह हस्तांतरण करने के लिए एक 3 पार्टी है के माध्यम से मार्ग यातायात के लिए। इस तरह, प्राधिकरण क्रेडेंशियल जारीकर्ता पीसी, तीसरे पक्ष पर ही रहना चाहिए।