विंडोमैकसॉफ्टवेयरसेटिंग्ससुरक्षाउत्पादकतालिनक्सएंड्रॉइडप्रदर्शनकॉन्फ़िगरेशनएप्पल सभी

डीबियन पर SSH सर्वर कैसे सेट करें

संपादित 6 महीने पहले द्वारा ExtremeHow संपादकीय टीम

डेबियनएसएसएचनेटवर्किंगसुरक्षारिमोट एक्सेसलिनक्ससर्वरओपन सोर्ससिस्टम प्रशासनसीएलआई

डीबियन पर SSH सर्वर कैसे सेट करें

अनुवाद अपडेट किया गया 6 महीने पहले

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

1. SSH और इसके महत्व को समझना

SSH का अर्थ है सिक्योर शेल और इसका उपयोग सुरक्षित तरीके से दूरस्थ मशीनों से कनेक्ट करने के लिए किया जाता है। यह पुराने प्रोटोकॉल जैसे टेलनेट और FTP को प्रतिस्थापित करता है, जो सुरक्षित नहीं हैं क्योंकि वे पासवर्ड सहित डेटा को एनक्रिप्ट किए बिना स्थानांतरित करते हैं। SSH सत्र को एन्क्रिप्ट करता है, इसे किसी भी हस्तक्षेप करने वाले तत्व के लिए अपठनीय बनाता है। यह एन्क्रिप्शन ग्राहक और सर्वर के बीच डेटा संचारण की सुरक्षा और गोपनीयता सुनिश्चित करता है। SSH डिफ़ॉल्ट रूप से पोर्ट 22 पर काम करता है और सुरक्षित संचार के लिए प्रमाणीकरण और कमांड-लाइन इंटरफेस दोनों प्रदान करता है।

2. डीबियन सिस्टम तैयार करना

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

sudo apt update
sudo apt upgrade

उपरोक्त कमांड उपलब्ध पैकेजों के बारे में नवीनतम जानकारी प्राप्त करेगा, फिर पैकेजों को नवीनतम संस्करण में उन्नत करेगा। यह सुनिश्चित करता है कि SSH सर्वर स्थापना के लिए सभी आवश्यकताएं मौजूद हैं।

3. OpenSSH सर्वर स्थापित करना

डीबियन पर, ओपनSSH पैकेज SSH सर्वर और क्लाइंट प्रदान करता है। OpenSSH सर्वर पैकेज स्थापित करने के लिए, निम्नलिखित कमांड निष्पादित करें:

sudo apt install -y openssh-server

-y विकल्प सभी संकेतों के लिए 'हां' को स्वचालित रूप से उत्तर देता है, जिससे एक गैर-इंटरेक्टिव स्थापना की अनुमति मिलती है। ओपनSSH सर्वर स्थापना स्वचालित रूप से शुरू होगी और पूर्ण होने पर सक्षम हो जाएगी।

4. SSH सेवा की पुष्टि करना

स्थापना के बाद, यह पुष्टि करना महत्वपूर्ण है कि SSH सेवा अपेक्षा के अनुरूप चल रही है। SSH सेवा की स्थिति की जाँच करने के लिए, निम्नलिखित कमांड का उपयोग करें:

sudo systemctl status ssh

प्रदर्शन यह इंगित करना चाहिए कि सेवा सक्रिय और चल रही है। यदि यह नहीं है, तो आप SSH सेवा को इस प्रकार शुरू कर सकते हैं:

sudo systemctl start ssh

इसके अलावा, यह सुनिश्चित करने के लिए कि SSH सेवा रीबूट के बाद शुरू होती है, इसे सक्षम करें:

sudo systemctl enable ssh

5. बुनियादी SSH कॉन्फ़िगरेशन

SSH सर्वर के लिए कॉन्फ़िगरेशन फ़ाइल /etc/ssh/sshd_config में रहती है। परिवर्तनों को करने से पहले मूल फ़ाइल का बैकअप बनाना अनुशंसित है:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

अपने पसंदीदा टेक्स्ट एडिटर, जैसे कि नैनो या विम, के साथ कॉन्फ़िगरेशन फ़ाइल को संपादित करें:

sudo nano /etc/ssh/sshd_config

कुछ अनुशंसित कॉन्फ़िगरेशन निम्नलिखित हैं:

परिवर्तन करने के बाद, फ़ाइल को सहेजें और संपादक से बाहर निकलें। परिवर्तनों को लागू करने के लिए, SSH सेवा को पुनः आरंभ करें:

sudo systemctl restart ssh

6. SSH कुंजी-आधारित प्रमाणीकरण सेट करना

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

6.1. SSH कुंजी जोड़ी उत्पन्न करना

क्लाइंट मशीन (आपके स्थानीय मशीन) पर, निम्नलिखित का उपयोग करके SSH कुंजियाँ उत्पन्न करें:

ssh-keygen -t rsa -b 4096

यह कमांड 4096-बिट आरएसए कुंजी जोड़ी उत्पन्न करता है। आपसे कुंजियों को सहेजने के लिए एक फ़ाइल नाम दर्ज करने के लिए कहा जाएगा। डिफ़ॉल्ट स्थान पर उन्हें स्टोर करने के लिए enter दबाएं (~/.ssh/id_rsa निजी और ~/.ssh/id_rsa.pub सार्वजनिक के लिए)।

6.2. सार्वजनिक कुंजी को सर्वर पर कॉपी करना

ssh-copy-id कमांड का उपयोग करके सार्वजनिक कुंजी को डेबियन सर्वर पर अपलोड करें। user और server_ip को अपने उपयोगकर्ता नाम और सर्वर के आईपी पते के साथ बदलें:

ssh-copy-id user@server_ip

यह आपसे आपके सर्वर का पासवर्ड मांगेगा। एक बार दर्ज करने के बाद, यह सर्वर के ~/.ssh/authorized_keys में सार्वजनिक कुंजी को कॉपी कर देगा और उपयुक्त अनुमतियाँ सेट करेगा।

6.3. SSH कुंजी-आधारित प्रमाणीकरण की पुष्टि करना

कुंजी-आधारित प्रमाणीकरण कार्य करता है इसकी पुष्टि करने के लिए SSH कनेक्शन का परीक्षण करें। निष्पादित करें:

ssh user@server_ip

यदि सफल, तो आप पासवर्ड प्रॉम्प्ट के बिना लॉग इन करेंगे, यह दर्शाता है कि उचित कुंजी-आधारित प्रमाणीकरण हो गया है। यदि आप आश्वस्त हैं कि कुंजी-आधारित प्रमाणीकरण काम कर रहा है, तो आप अब /etc/ssh/sshd_config में पासवर्ड प्रमाणीकरण को अक्षम कर सकते हैं और PasswordAuthentication no सेट कर सकते हैं।

7. SSH सुरक्षा बढ़ाना

SSH सर्वर सुरक्षा में उन सेटिंग्स को कॉन्फ़िगर करना शामिल है जो संभावित जोखिमों को कम करती हैं। आपके SSH सर्वर को और अधिक सुरक्षित करने के लिए कुछ कदम इस प्रकार हैं:

7.1. उपयोगकर्ता एक्सेस सीमित करना

SSH के माध्यम से कौन लॉगिन कर सकता है यह तय करने के लिए sshd_config में AllowUsers या AllowGroups निर्देशों का उपयोग करें। उदाहरण के लिए, केवल user1 और user2 को SSH के माध्यम से लॉगिन करने की अनुमति देने के लिए, निम्नलिखित जोड़ें:

AllowUsers user1 user2

7.2. SSH प्रोटोकॉल 1 को अक्षम करना

SSH प्रोटोकॉल 1 पुरानी हो गई है और इसकी कमजोरियाँ हैं। हमेशा प्रोटोकॉल 2 का उपयोग करें:

Protocol 2

7.3. फ़ायरवॉल के साथ SSH एक्सेस को नियंत्रित करना

केवल विश्वसनीय आईपी पतों से SSH एक्सेस की अनुमति देने के लिए फ़ायरवॉल नियम निर्धारित करें। ufw के साथ, इस तरह से एक नियम जोड़ें:

sudo ufw allow from trusted_ip to any port ssh

7.4. फेल2बैन कॉन्फ़िगर करना

Fail2Ban एक घुसपैठ रोकथाम सॉफ़्टवेयर है जो आपके सर्वर को ब्रूट-फोर्स हमलों से सुरक्षित रखने में मदद करता है। इसे इस तरह से स्थापित करें:

sudo apt install fail2ban

डिफ़ॉल्ट रूप से, यह स्वयं को SSH की सुरक्षा के लिए स्वचालित रूप से कॉन्फ़िगर करता है। सुनिश्चित करें कि यह चल रहा है और सक्षम है:

sudo systemctl start fail2ban
sudo systemctl enable fail2ban

8. सामान्य SSH समस्याओं का निवारण

SSH के साथ समस्याओं का सामना करना असामान्य नहीं है। नीचे कुछ सामान्य समस्याएं और उनके संभावित समाधान दिए गए हैं।

8.1. SSH कनेक्शन अस्वीकार कर दिया गया

यदि आपको 'कनेक्शन अस्वीकार कर दिया गया' त्रुटि मिलती है, तो हो सकता है कि SSH सेवा चल नहीं रही हो, या फ़ायरवॉल कनेक्शन को ब्लॉक कर सकता है। सत्यापित करें कि SSH सक्षम है:

sudo systemctl status ssh

सुनिश्चित करें कि आपका फ़ायरवॉल SSH पोर्ट 22 पर या जो पोर्ट आपने कॉन्फ़िगर किया है, उस पर कनेक्शन की अनुमति दे रहा है।

8.2. प्रमाणीकरण विफलताएं

यदि आप प्रमाणीकरण नहीं कर सकते हैं, तो अपनी अनुमतियों को दोबारा जांचें। सुनिश्चित करें कि authorized_keys मौजूद है, पठनीय है, और उपयोगकर्ता के स्वामित्व में है।

chmod 600 ~/.ssh/authorized_keys
chown user:user ~/.ssh/authorized_keys

SSH सर्वर /var/log/auth.log में अधिक विस्तृत जानकारी लॉग करता है। इस फ़ाइल का निरीक्षण करना अक्सर समस्याओं का निदान करने में मदद करता है।

निष्कर्ष

डीबियन पर SSH सर्वर सेट करना आपके सिस्टम के सुरक्षित दूरस्थ प्रशासन को सुनिश्चित करने के लिए एक आवश्यक कार्य है। इस मार्गदर्शिका में SSH सेटअप के महत्वपूर्ण पहलुओं को कवर किया गया है, जिसमें स्थापना, कॉन्फ़िगरेशन, और आपके SSH सर्वर को अनधिकृत एक्सेस से सुरक्षित करना शामिल है। हमेशा अपने सर्वर को अपडेट रखें, उपयोगकर्ता विशेषाधिकारों को सीमित करें, और अपने सर्वर की सुरक्षा को मजबूत करने के लिए फ़ायरवॉल और घुसपैठ रोकथाम प्रणालियों जैसी सुरक्षा उपाय लागू करें। उचित SSH सुरक्षा प्रक्रियाएं एक सुरक्षित, कुशल और विश्वसनीय सर्वर वातावरण को बनाए रखने के लिए महत्वपूर्ण हैं।

यदि आपको लेख की सामग्री में कुछ गलत लगता है, आप कर सकते हैं


टिप्पणियाँ