Computer >> कंप्यूटर >  >> प्रणाली >> Linux

Linux पर SFTP सर्वर कैसे सेट करें

Linux पर SFTP सर्वर कैसे सेट करें

अधिकांश लोग फाइलज़िला, विनएससीपी या अन्य एफ़टीपी कार्यक्रमों जैसी उपयोगिताओं को पसंद करते हैं, जब उन्हें लिनक्स सर्वर से या फ़ाइलों को स्थानांतरित करने की आवश्यकता होती है। SFTP मूल FTP प्रोटोकॉल का एक सुरक्षित विकल्प है। यह ज्यादातर अपने असुरक्षित संस्करण के समान कार्य करता है, लेकिन एन्क्रिप्शन की एक अतिरिक्त परत के साथ। इसे पूरा करने के लिए, यह एसएसएच प्रोटोकॉल का उपयोग करता है जो इसे एन्क्रिप्शन क्षमताओं के साथ प्रदान करता है। आपके Linux सिस्टम पर SFTP सर्वर सेट करने में कई चरण शामिल हैं, जिन्हें हम यहां प्रदर्शित करते हैं।

एसएफ़टीपी क्या है?

SFTP (सिक्योर फाइल ट्रांसफर प्रोटोकॉल) क्लाइंट से सर्वर पर फाइल ट्रांसफर करने के लिए एक नेटवर्क प्रोटोकॉल है। FTP (फाइल ट्रांसफर प्रोटोकॉल) के विपरीत, SFTP भेजे गए डेटा को एन्क्रिप्ट करने के लिए SSH (सिक्योर शेल) प्रोटोकॉल का उपयोग करता है। यह कंप्यूटर वैज्ञानिकों, टाटू यलोन और सामी लेहटिनन द्वारा विकसित किया गया था, जो 1990 के दशक में एसएसएच प्रोटोकॉल के विकास के लिए भी जिम्मेदार हैं। हालाँकि, आधुनिक संस्करण IETF (इंटरनेट इंजीनियरिंग टास्क फोर्स) द्वारा विकसित किया गया है।

इसे रिमोट फाइल सिस्टम प्रोटोकॉल के रूप में वर्णित किया जा सकता है, भले ही इसके नाम से पता चलता है कि यह केवल फाइल ट्रांसफर ऑपरेशन करता है। क्लाइंट से प्राप्तकर्ता सर्वर पर SFTP का उपयोग करके फ़ाइल भेजते समय, डेटा को गंतव्य पर भेजने से पहले एन्क्रिप्ट किया जाता है। यदि भेजा जा रहा डेटा "मैन-इन-द-मिडिल" द्वारा इंटरसेप्ट किया गया है, तो इसे इस तीसरे पक्ष द्वारा आसानी से डिक्रिप्ट नहीं किया जा सकता है।

एसएसएच और ओपनएसएसएच सर्वर स्थापित करना

हम एसएसएच और ओपनएसएसएच सर्वर स्थापित करके एसएफटीपी सर्वर स्थापित करने की प्रक्रिया शुरू कर रहे हैं।

अधिकांश लिनक्स इंस्टॉलेशन में पहले से ही डिफ़ॉल्ट रूप से SSH इंस्टॉल होता है, लेकिन अगर आपके सिस्टम में यह नहीं है, तो आप इसे एडवांस्ड पैकेजिंग टूल के apt का उपयोग करके इंस्टॉल कर सकते हैं। आदेश:

sudo apt install ssh

SSH को स्थापित करने के बाद, आप ssh . चलाकर इसके संस्करण की जांच कर सकते हैं -V . के साथ कमांड झंडा:

ssh -V
Linux पर SFTP सर्वर कैसे सेट करें

आप ओपनएसएसएच सर्वर को डेबियन और उबंटू सिस्टम पर स्थापित कर सकते हैं, उदाहरण के लिए, apt का उपयोग करके आदेश:

sudo apt install openssh-server

आप आर्क लिनक्स पर pacman . का उपयोग करके ऐसा कर सकते हैं आदेश:

sudo pacman -S openssh

एसएफ़टीपी के लिए उपयोगकर्ता, समूह और निर्देशिका बनाना

यह एक सामान्य सिफारिश है कि लिनक्स पर विभिन्न सेवाओं को अपने स्वयं के उपयोगकर्ताओं, समूहों और निर्देशिकाओं का उपयोग करना चाहिए।

SFTP के उपयोगकर्ताओं के लिए एक समूह बनाकर प्रारंभ करें। यह groupadd . का उपयोग करके पूरा किया जाता है आदेश:

sudo groupadd sftp_group

आप एक उपयोगकर्ता बना सकते हैं और उसे उस समूह में जोड़ सकते हैं जिसे useradd . का उपयोग करके बनाया गया था कमांड और उसका -g ध्वज, जिसका उपयोग उस समूह को निर्दिष्ट करने के लिए किया जाता है जिसका उपयोगकर्ता हिस्सा होगा:

sudo useradd -g sftp_group sftp_user

उपयोगकर्ता बनाने के बाद, इसे passwd . का उपयोग करके पासवर्ड असाइन करें आदेश:

sudo passwd sftp_user
Linux पर SFTP सर्वर कैसे सेट करें

नव निर्मित उपयोगकर्ता के लिए डिफ़ॉल्ट निर्देशिका बनाएं:

sudo mkdir -p /data/sftp_user/uploaded_files

chown का प्रयोग करें निर्देशिका को आवश्यक अनुमतियाँ देने का आदेश:

sudo chown -R root:sftp_group /data/sftp_user
sudo chown -R sftp_user:sftp_group /data/sftp_user/uploaded_files

SSH सर्वर को कॉन्फ़िगर करना

एक SFTP सर्वर स्थापित करने का अगला चरण उस SSH सर्वर को कॉन्फ़िगर करना है जिसका वह उपयोग करेगा।

"/etc/ssh/" में मिली "sshd_config" फ़ाइल को संपादित करें ताकि उपयोगकर्ता SSH के शेल के बजाय सर्वर से कनेक्ट होने पर SFTP शेल का उपयोग कर रहा हो।

आप डिफ़ॉल्ट रूप से कई लिनक्स इंस्टॉलेशन पर पाए जाने वाले सामान्य रूप से उपयोग किए जाने वाले नैनो संपादक का उपयोग करके फ़ाइल को आसानी से संपादित कर सकते हैं:

sudo nano /etc/ssh/sshd_config

फ़ाइल के नीचे खोजें और निम्नलिखित जोड़ें:

Match Group sftp_group
ChrootDirectory /data/%u
ForceCommand internal-sftp
Linux पर SFTP सर्वर कैसे सेट करें

SSH सेवा को पुनरारंभ करें:

sudo systemtl restart sshd

(वैकल्पिक) SFTP पोर्ट बदलना

यदि आप उस पोर्ट को बदलना चाहते हैं जिसका उपयोग SFTP सर्वर 22 के डिफ़ॉल्ट मान से आपके चुने हुए विकल्प में कर रहा है, तो आपको "sshd_config" फ़ाइल को एक बार फिर से संपादित करना होगा।

नैनो संपादक का उपयोग करके एक बार फिर फ़ाइल को संपादित करें:

sudo nano /etc/ssh/sshd_config

22 के डिफ़ॉल्ट पोर्ट मान के साथ फ़ाइल में एक पंक्ति खोजें, टिप्पणी की गई:

#Port 22

आप हैश (#) चिह्न को हटा सकते हैं जिसका उपयोग लाइन पर टिप्पणी करने के लिए किया जाता है और पोर्ट वैल्यू की अपनी पसंद को जोड़ा जाता है। मेरे मामले में, मैं मान को 1111 में बदल रहा हूँ:

Port 1111

अब बस फाइल को सेव करें

Linux पर SFTP सर्वर कैसे सेट करें

और सर्वर को पुनरारंभ करें:

sudo systemctl restart sshd

लॉग इन और सर्वर का उपयोग करना

डब्ल्यू सर्वर स्थापित और कॉन्फ़िगर किया गया है, यह उपयोग के लिए तैयार है। आप आसानी से फ़ाइलें अपलोड कर सकते हैं और उन्हें डाउनलोड कर सकते हैं, सभी SSH द्वारा प्रदान किए गए एन्क्रिप्टेड सत्र के साथ।

लॉग इन करने से पहले, प्रदान किए गए मैनुअल पर एक नज़र डालने में कोई दिक्कत नहीं होगी:

sftp -h
Linux पर SFTP सर्वर कैसे सेट करें

निम्नलिखित प्रारूप में उपयोगकर्ता नाम और सर्वर आईपी या होस्टनाम प्रदान करके सर्वर में लॉग इन करें:

sftp USER@HOST

इसके अतिरिक्त, आप -P का उपयोग करके उस पोर्ट को निर्दिष्ट कर सकते हैं जो आपका SFTP सर्वर उपयोग कर रहा है (डिफ़ॉल्ट 22 है) झंडा:

sftp USER@HOST -P <PORT>

जब आप लॉग इन करते हैं, तो आपका स्वागत एक SFTP शेल से होता है।

help . लिखकर मैन्युअल देखें ।

Linux पर SFTP सर्वर कैसे सेट करें

फ़ाइलें डाउनलोड करना

फ़ाइल डाउनलोड करने के लिए:

get /path/to/file/on/server

उदाहरण:

get /bin/ls

यह आपकी वर्तमान निर्देशिका में डाउनलोड हो जाएगा - जिसे आप सर्वर में लॉग इन करने से पहले स्थानीय रूप से थे। किसी विशिष्ट स्थानीय निर्देशिका में डाउनलोड करने के लिए:

get /path/to/file/on/server /path/to/local/folder

निर्देशिकाओं को कॉपी करने के लिए, आपको -r . जोड़ना होगा पैरामीटर, जो कमांड के लिए पुनरावर्ती के लिए खड़ा है।

get -r /bin /home/username/Desktop/bin
Linux पर SFTP सर्वर कैसे सेट करें

उस नई निर्देशिका के लिए एक नाम जोड़ना याद रखें जिसे आप स्थानीय रूप से बनाना चाहते हैं, जैसे इस मामले में "/home/username/Desktop/bin"। यदि आप get -r /bin /home/username/Desktop . का उपयोग करते हैं , फ़ाइलें सीधे डेस्कटॉप पर कॉपी की जाएंगी। ध्यान दें कि ये वे फ़ाइलें हैं जिनकी प्रतिलिपि बनाई गई है न कि स्वयं निर्देशिका।

फ़ाइलें अपलोड करना

फ़ाइलें या निर्देशिका अपलोड करना उन्हीं सिद्धांतों का पालन करता है। एकमात्र अपवाद यह है कि पथ उलट जाते हैं, जिसका अर्थ है कि आप पहले स्थानीय फ़ाइल/निर्देशिका निर्दिष्ट करते हैं, फिर दूरस्थ पथ।

आरंभ करने के लिए, put . का उपयोग करके सर्वर पर फ़ाइलें अपलोड करें आदेश:

put /path/to/local/content /path/to/remote/location

निर्देशिकाओं (पुनरावर्ती) को अपलोड करते समय, याद रखें कि पिछले अनुभाग का एक ही नियम लागू होता है:यह वास्तव में निर्देशिका में फ़ाइलें हैं जिन्हें कॉपी किया जाता है न कि स्वयं निर्देशिका। उस निर्देशिका के लिए एक नया नाम निर्दिष्ट करें जिसमें आप उन फ़ाइलों की प्रतिलिपि बनाना चाहते हैं।

put -r /home/username/Desktop/bin bin

यह रिमोट साइड पर "बिन" नामक एक नई निर्देशिका बनाता है।

स्थानांतरण फिर से शुरू करें और रिक्त स्थान वाले पथ का उपयोग करें

जब आप एक बड़ी फ़ाइल को स्थानांतरित करते हैं जो बाधित हो जाती है, तो आप पिछली कमांड को reput से बदलकर फिर से शुरू कर सकते हैं और reget . बस सुनिश्चित करें कि आप उन्हीं रास्तों का उपयोग करते हैं जिनका आपने पिछली बार उपयोग किया था ताकि स्रोत और गंतव्य बिल्कुल मेल खा सकें।

reget /path/to/file/on/server /path/to/local/file
reput /path/to/local/file /path/to/file/on/server

निर्देशिका स्थानांतरण फिर से शुरू करने के लिए, बस -r जोड़ें पैरामीटर:

reput -r /home/username/Desktop/bin bin

यदि किसी फ़ाइल के पथ में रिक्त स्थान हैं, तो उसे उद्धरण चिह्नों में रखें:

put "/home/username/My Documents/Files"

अन्य उपयोग

आप ls . का उपयोग करके फ़ाइलों और निर्देशिकाओं को सूचीबद्ध कर सकते हैं आदेश:

ls -l

chmod . का उपयोग करके फ़ाइलों की अनुमतियां भी बदली जा सकती हैं आदेश:

chmod <PERMISSION> <FILE>

इसके अतिरिक्त, आप mkdir कमांड का उपयोग करके एक नई निर्देशिका बना सकते हैं:

mkdir <DIRECTORY_NAME>

अक्सर पूछे जाने वाले प्रश्न

1. क्या मुझे एक SFTP क्लाइंट स्थापित करने की आवश्यकता है?

ज्यादातर मामलों में नहीं, चूंकि अधिकांश लिनक्स सिस्टम डिफ़ॉल्ट रूप से स्थापित टर्मिनल-आधारित SFTP क्लाइंट के साथ आते हैं।

2. क्या मैं सार्वजनिक कुंजी प्रमाणीकरण का उपयोग कर सकता हूं?

हां, आप प्रमाणीकरण विधि के रूप में पासवर्ड के बजाय सार्वजनिक कुंजी प्रमाणीकरण का उपयोग कर सकते हैं। इसे सेट करना काफी सरल है, और यह आपके सर्वर के लिए अतिरिक्त सुरक्षा प्रदान करता है।

3. क्या मैं एक साथ SSH सर्वर होस्ट कर सकता हूँ?

हां। हालाँकि, आपको यह सुनिश्चित करने की आवश्यकता होगी कि आपका SFTP सर्वर SSH सर्वर के समान पोर्ट का उपयोग नहीं कर रहा है।


  1. सीएस कैसे बनाएं:लिनक्स वीपीएस पर सर्वर पर जाएं

    काउंटर-स्ट्राइक के लिए स्टीम के आधिकारिक गेम सर्वर:ग्लोबल ऑफेंसिव अधिकांश उद्देश्यों के लिए पर्याप्त हैं। हालाँकि, आप उन्हें नियंत्रित नहीं करते हैं। यदि आप अपना स्वयं का सर्वर बनाते हैं, तो आप निम्न में सक्षम होंगे: अपने स्वयं के नियम निर्धारित करें, जैसे मैच का समय, फ्रीज का समय, अधिकतम खिलाड़ी,

  1. लिनक्स होम सर्वर को कैसे सुरक्षित करें

    होम सर्वर सेट करने के कई कारण हैं। आप इसे मीडिया सर्वर, फ़ाइल सर्वर या स्थानीय बैकअप सर्वर के रूप में उपयोग कर सकते हैं। मूल रूप से, आपकी कोई भी फाइल जिसे ऑनलाइन होने की आवश्यकता नहीं है, वह होम सर्वर के लिए अच्छे उम्मीदवार हैं। लिनक्स-संचालित होम सर्वर स्थापित करना अपेक्षाकृत आसान है, खासकर इन दिनो

  1. डिस्कॉर्ड सर्वर कैसे सेट करें

    एक डिस्कॉर्ड सर्वर स्थापित करना और फिर अपने दोस्तों और परिवार को शामिल होने के लिए आमंत्रित करना आने वाले छुट्टियों के मौसम में जुड़े रहने का सही तरीका हो सकता है। इस ट्यूटोरियल में, हम एक खाता बनाते हैं, एक सर्वर और क्लाइंट को तैनात करते हैं, विभिन्न चैनल सेट करते हैं, और फिर लोगों को सर्वर में चैट