आप ~/.ssh/config
मेजबान के लिए उपयोग करने के लिए बंदरगाहों को निर्दिष्ट करने के लिए उपयोग कर सकते हैं (और कई अन्य अच्छी चीजें सेट करने के लिए; मैन पेज की जांच करें man ssh_config
):
# ~/.ssh/config
Host 67.12.21.133
Port 6774
Host 67.129.242.40
Port 6774
ऐसा करते समय, आपको -3
scp के विकल्प का उपयोग करना होगा , जो आपके स्थानीय मशीन के माध्यम से फाइलों को कॉपी करता है। अन्यथा, scp कमांड को पहले होस्ट पर ssh के माध्यम से जारी करता है, इसलिए यह वास्तव में चलता है
ssh -p 6774 denny@67.12.21.133 scp -rp /home/denny/testapp1.txt denny@67.129.242.40:
और फिर पहले रिमोट होस्ट (67.12.21.133) का ~ / .ssh / config आपके स्थानीय के बजाय प्रयोग किया जाता है।
जब आपका सेटअप ~/.ssh/config
सही ढंग से हो, तो यह काम करना चाहिए:
scp -rp3 denny@67.12.21.133:/home/denny/testapp1.txt denny@67.129.242.40:
बेशक, आप अपने पहले दूरस्थ होस्ट पर ~ / .ssh / config फ़ाइल की सामग्री की प्रतिलिपि भी बना सकते हैं, और फिर आप -3
विकल्प के बिना scp का उपयोग कर सकते हैं , जो संभवतः हस्तांतरण को गति देगा।
या आप उस कमांड का उपयोग कर सकते हैं जो एससीपी का उपयोग करता है और ऐसी कमांड लाइन का उपयोग करता है:
ssh -p 6774 denny@67.12.21.133 scp -rp -P 6774 /home/denny/testapp1.txt denny@67.129.242.40:
(Ssh और scp के लिए पोर्ट पैरामीटर के विभिन्न मामले पर ध्यान दें: ssh -p 6774
बनाम scp -P 6774
)
PS: मुझे यह जानकारी OpenSSH बगज़िला से मिली जहाँ मैंने इसे बग के रूप में दर्ज किया: https://bugzilla.mindrot.org/show_bug.cgi?id=2020