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