Linux सर्वर तक पहुंचने पर, आपके पास कुछ विकल्प होते हैं। यदि यह यूजर इंटरफेस वाला सर्वर है, तो आप VNC का उपयोग कर सकते हैं, लेकिन अधिक सामान्य विकल्प एक हेडलेस सर्वर में सिक्योर शेल, या SSH के साथ लॉग इन करना है। यह एक एन्क्रिप्टेड, सुरक्षित प्रोटोकॉल है जो आपको SSH क्लाइंट के माध्यम से रिमोट सिस्टम तक पहुंच प्रदान करता है। हालांकि, आप केवल कुछ फ़ाइलों को सर्वर पर भेजना चाह सकते हैं। इसके लिए, आप सिक्योर कॉपी, या SCP नामक प्रोग्राम का उपयोग कर सकते हैं, जो फ़ाइलों को आपके नेटवर्क पर रिमोट सिस्टम पर त्वरित रूप से स्थानांतरित करने के लिए मजबूत SSH प्रोटोकॉल पर चलता है। यहां हम आपको दिखाते हैं कि Linux में SCP का उपयोग करके फ़ाइलों को सुरक्षित रूप से कैसे स्थानांतरित करें।
SSH कॉन्फ़िगर करना
अपने सर्वर (या जिस भी रिमोट सिस्टम तक आप पहुंचना चाहते हैं) पर, आपको एक SSH सर्वर इंस्टॉल करना होगा। Linux पर सबसे आम है OpenSSH सर्वर। इसे इंस्टॉल करने के लिए, आप निम्न कमांड में से एक चला सकते हैं:
# Debian/Ubuntu-आधारित सर्वर sudo apt install openssh-server # Fedora/CentOS sudo dnf install openssh-server
आपके डिस्ट्रो के आधार पर, आपको कुछ सॉफ़्टवेयर फ़ायरवॉल के माध्यम से SSH की अनुमति देनी पड़ सकती है। Ubuntu पर, यह समस्या नहीं है, लेकिन CentOS पर, आपको निम्न कमांड भी चलाने होंगे:
sudo firewall-cmd --add-service=ssh --permanent sudo firewall-cmd --reload
इस बिंदु पर, आपको एक SSH क्लाइंट की आवश्यकता होगी। अधिकांश डिस्ट्रो पर, OpenSSH क्लाइंट इंस्टॉल होता है। लेकिन, यदि नहीं है, तो इसे निम्न कमांड के साथ इंस्टॉल करें:
# Debian/Ubuntu-आधारित डिस्ट्रो sudo apt install openssh-client # Fedora sudo dnf install openssh-client
SSH के माध्यम से अपने सिस्टम से कनेक्ट करना
SCP के साथ खिलवाड़ करने से पहले सुनिश्चित करें कि SSH काम करता है। SSH के माध्यम से कनेक्ट करने से पहले, आपको सर्वर का IP पता खोजना होगा। ग्राफिकल सर्वर पर, IP पता सिस्टम सेटिंग्स में नेटवर्क अपलेट में दिखाया जाता है। अधिकांश सर्वर पर, आपको टर्मिनल पर ip कमांड का उपयोग करना चाहिए।
ip a s
आउटपुट में, eth0 या enp1s0 के तहत inet से शुरू होने वाली लाइन देखें, यह इस पर निर्भर करता है कि आपका नेटवर्क इंटरफ़ेस सिस्टम से कैसे जुड़ा है। मेरे मामले में, यह 192.168.122.201 है।
SSH कनेक्शन का परीक्षण करने के लिए, Linux क्लाइंट मशीन पर जाएं और टाइप करें:
ssh user@192.168.122.201
"user" को सर्वर में वास्तविक उपयोगकर्ता नाम में बदलें।
उस खाते का पासवर्ड दर्ज करें, और आप अंदर हैं। यदि आपको "होस्ट की प्रामाणिकता स्थापित नहीं की जा सकती" के बारे में कोई प्रश्न मिलता है, तो बस प्रश्न का उत्तर "yes" दें। यह एक सुरक्षा जांच है यह सुनिश्चित करने के लिए कि आप अपने वास्तविक सर्वर से कनेक्ट हो रहे हैं न कि किसी धोखेबाज से। आपको अपने क्लाइंट सिस्टम पर वही प्रॉम्प्ट देखना चाहिए जो आप सर्वर में सीधे लॉग इन करते समय देखते हैं, और इसका मतलब है कि आपका कनेक्शन सफल रहा। अगले चरण पर आगे बढ़ने से पहले आपको अधिकतम सुरक्षा के लिए अपने SSH कनेक्शन को भी कॉन्फ़िगर करना चाहिए।
फ़ाइलें स्थानांतरित करने के लिए SCP का उपयोग करना
अब जब आपने SSH कनेक्शन का परीक्षण कर लिया है, तो आप दोनों मशीनों के बीच फ़ाइलों को कॉपी करना शुरू कर सकते हैं। सुरक्षित कॉपी scp कमांड का उपयोग करके प्राप्त की जाती है। scp कमांड का मूल प्रारूप है:
scp /PATH/TO/FILE USER@IP-ADDRESS:PATH/TO/DESIRED/DESTINATION
उदाहरण के लिए, "backup.txz" फ़ाइल को लोकल मशीन से रिमोट सर्वर पर IP पते 192.168.1.101 के साथ उपयोगकर्ता "maketecheasier" के होम डायरेक्टरी में "backups" फ़ोल्डर में कॉपी करने के लिए, उपयोग करें:
scp backup.txz maketecheasier@192.168.122.201:~/backups/
ssh का उपयोग करके कनेक्ट करते समय इसी तरह, आपको पासवर्ड के लिए संकेत दिया जाएगा। आपको उपयोगकर्ता नाम के लिए संकेत नहीं दिया जाएगा, क्योंकि इसे कमांड में निर्दिष्ट किया गया था।
आप वाइल्ड कार्ड का भी उपयोग कर सकते हैं जैसे:
scp *.txz maketecheasier@192.168.122.201:~/backups/
रिमोट सर्वर से लोकल मशीन पर फ़ाइल कॉपी करने के लिए, बस पैरामीटर्स को उल्टा करें:
scp maketecheasier@192.168.122.201:~/backups/backup.txz .
कमांड के अंत में डॉट नोट करें जिसका अर्थ है "वर्तमान डायरेक्टरी", जैसा कि यह मानक cp या mv कमांड के साथ करता है। आप आसानी से कुछ अन्य डायरेक्टरी निर्दिष्ट कर सकते हैं यदि आप चाहते थे।
scp -r maketecheasier@192.168.122.201:~/backups/ backups-from-server/
और वाइल्ड कार्ड के साथ भी:
scp maketecheasier@192.168.122.201:~/backups/*.txz .
रिमोट सर्वर पर एक डायरेक्टरी को रिकर्सिवली कॉपी करने के लिए, -r विकल्प का उपयोग करें:
scp -r backups/ maketecheasier@192.168.122.201:~/backups/
और रिमोट सर्वर से लोकल मशीन पर एक डायरेक्टरी की रिकर्सिव कॉपी करने के लिए उपयोग करें:
scp -r maketecheasier@192.168.122.201:~/backups/ .
कोशिश करने के लिए अन्य SCP कमांड
आगे बढ़ने के लिए, -C विकल्प के साथ प्रयोग करने का प्रयास करें, जो कॉपी के दौरान संपीड़न सक्षम करता है या -l विकल्प, जो कॉपी के दौरान बैंडविड्थ सीमित करता है।
हर बार पासवर्ड टाइप किए बिना फ़ाइल स्थानांतरित करने के लिए, आप अपने सर्वर से कनेक्ट करने के लिए एक निजी SSH कुंजी भी उत्पन्न कर सकते हैं।