संपादित 6 महीने पहले द्वारा ExtremeHow संपादकीय टीम
डेबियनएसएसएचनेटवर्किंगसुरक्षारिमोट एक्सेसलिनक्ससर्वरओपन सोर्ससिस्टम प्रशासनसीएलआई
अनुवाद अपडेट किया गया 6 महीने पहले
सिक्योर शेल (SSH) एक लोकप्रिय नेटवर्क प्रोटोकॉल है जो असुरक्षित नेटवर्क पर सुरक्षित कनेक्शन की अनुमति देता है। SSH दूरस्थ कंप्यूटरों तक पहुँचने का एक सुरक्षित तरीका प्रदान करता है और सिस्टम प्रशासकों के लिए महत्वपूर्ण है। डीबियन पर SSH सर्वर सेट करना एक सीधा प्रक्रिया है, और यह व्यापक मार्गदर्शिका आपको SSH सर्वर को प्रभावी ढंग से कॉन्फ़िगर करने के चरणों के माध्यम से मार्गदर्शन करेगी। हम स्थापना, कॉन्फ़िगरेशन, सुरक्षा प्रथाओं, और समस्याओं के निवारण को कवर करेंगे, साथ ही उदाहरण और व्याख्याएं भी प्रदान करेंगे। इस मार्गदर्शिका में माना गया है कि आपके पास टर्मिनल और आपके डीबियन सिस्टम पर सुपरयूज़र (रूट) विशेषाधिकारों की बुनियादी समझ है।
SSH का अर्थ है सिक्योर शेल और इसका उपयोग सुरक्षित तरीके से दूरस्थ मशीनों से कनेक्ट करने के लिए किया जाता है। यह पुराने प्रोटोकॉल जैसे टेलनेट और FTP को प्रतिस्थापित करता है, जो सुरक्षित नहीं हैं क्योंकि वे पासवर्ड सहित डेटा को एनक्रिप्ट किए बिना स्थानांतरित करते हैं। SSH सत्र को एन्क्रिप्ट करता है, इसे किसी भी हस्तक्षेप करने वाले तत्व के लिए अपठनीय बनाता है। यह एन्क्रिप्शन ग्राहक और सर्वर के बीच डेटा संचारण की सुरक्षा और गोपनीयता सुनिश्चित करता है। SSH डिफ़ॉल्ट रूप से पोर्ट 22 पर काम करता है और सुरक्षित संचार के लिए प्रमाणीकरण और कमांड-लाइन इंटरफेस दोनों प्रदान करता है।
SSH सर्वर सेट करने से पहले, यह सुनिश्चित करना महत्वपूर्ण है कि आपका डीबियन सिस्टम अद्यतित है ताकि स्थापना के दौरान किसी भी संघर्ष या समस्या से बचा जा सके। सुपरयूज़र विशेषाधिकारों के साथ अपने डीबियन सर्वर में लॉग इन करें और इन चरणों का पालन करें:
sudo apt update
sudo apt upgrade
उपरोक्त कमांड उपलब्ध पैकेजों के बारे में नवीनतम जानकारी प्राप्त करेगा, फिर पैकेजों को नवीनतम संस्करण में उन्नत करेगा। यह सुनिश्चित करता है कि SSH सर्वर स्थापना के लिए सभी आवश्यकताएं मौजूद हैं।
डीबियन पर, ओपनSSH पैकेज SSH सर्वर और क्लाइंट प्रदान करता है। OpenSSH सर्वर पैकेज स्थापित करने के लिए, निम्नलिखित कमांड निष्पादित करें:
sudo apt install -y openssh-server
-y
विकल्प सभी संकेतों के लिए 'हां' को स्वचालित रूप से उत्तर देता है, जिससे एक गैर-इंटरेक्टिव स्थापना की अनुमति मिलती है। ओपनSSH सर्वर स्थापना स्वचालित रूप से शुरू होगी और पूर्ण होने पर सक्षम हो जाएगी।
स्थापना के बाद, यह पुष्टि करना महत्वपूर्ण है कि SSH सेवा अपेक्षा के अनुरूप चल रही है। SSH सेवा की स्थिति की जाँच करने के लिए, निम्नलिखित कमांड का उपयोग करें:
sudo systemctl status ssh
प्रदर्शन यह इंगित करना चाहिए कि सेवा सक्रिय और चल रही है। यदि यह नहीं है, तो आप SSH सेवा को इस प्रकार शुरू कर सकते हैं:
sudo systemctl start ssh
इसके अलावा, यह सुनिश्चित करने के लिए कि SSH सेवा रीबूट के बाद शुरू होती है, इसे सक्षम करें:
sudo systemctl enable ssh
SSH सर्वर के लिए कॉन्फ़िगरेशन फ़ाइल /etc/ssh/sshd_config
में रहती है। परिवर्तनों को करने से पहले मूल फ़ाइल का बैकअप बनाना अनुशंसित है:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
अपने पसंदीदा टेक्स्ट एडिटर, जैसे कि नैनो या विम, के साथ कॉन्फ़िगरेशन फ़ाइल को संपादित करें:
sudo nano /etc/ssh/sshd_config
कुछ अनुशंसित कॉन्फ़िगरेशन निम्नलिखित हैं:
Port 22
पंक्ति खोजें और इसे 1024 के ऊपर किसी संख्या में बदलें ताकि ज्ञात पोर्ट्स के साथ संघर्ष से बचा जा सके।PermitRootLogin
निर्देश को no
पर सेट करें।PasswordAuthentication
को no
पर सेट करें।परिवर्तन करने के बाद, फ़ाइल को सहेजें और संपादक से बाहर निकलें। परिवर्तनों को लागू करने के लिए, SSH सेवा को पुनः आरंभ करें:
sudo systemctl restart ssh
SSH कुंजियाँ पासवर्ड का उपयोग करने के बजाय SSH सर्वर में लॉग इन करने का एक अधिक सुरक्षित तरीका प्रदान करती हैं। SSH कुंजियाँ वास्तव में दो फाइलें होती हैं: एक सार्वजनिक कुंजी और एक निजी कुंजी। निजी कुंजी आपके मशीन पर रहती है और इसे सुरक्षित रखा जाना चाहिए, जबकि सार्वजनिक कुंजी सर्वर पर रखी जाती है। एसएसएच कुंजी-आधारित प्रमाणीकरण सेट करने का तरीका यहां दिया गया है:
क्लाइंट मशीन (आपके स्थानीय मशीन) पर, निम्नलिखित का उपयोग करके SSH कुंजियाँ उत्पन्न करें:
ssh-keygen -t rsa -b 4096
यह कमांड 4096-बिट आरएसए कुंजी जोड़ी उत्पन्न करता है। आपसे कुंजियों को सहेजने के लिए एक फ़ाइल नाम दर्ज करने के लिए कहा जाएगा। डिफ़ॉल्ट स्थान पर उन्हें स्टोर करने के लिए enter
दबाएं (~/.ssh/id_rsa
निजी और ~/.ssh/id_rsa.pub
सार्वजनिक के लिए)।
ssh-copy-id
कमांड का उपयोग करके सार्वजनिक कुंजी को डेबियन सर्वर पर अपलोड करें। user
और server_ip
को अपने उपयोगकर्ता नाम और सर्वर के आईपी पते के साथ बदलें:
ssh-copy-id user@server_ip
यह आपसे आपके सर्वर का पासवर्ड मांगेगा। एक बार दर्ज करने के बाद, यह सर्वर के ~/.ssh/authorized_keys
में सार्वजनिक कुंजी को कॉपी कर देगा और उपयुक्त अनुमतियाँ सेट करेगा।
कुंजी-आधारित प्रमाणीकरण कार्य करता है इसकी पुष्टि करने के लिए SSH कनेक्शन का परीक्षण करें। निष्पादित करें:
ssh user@server_ip
यदि सफल, तो आप पासवर्ड प्रॉम्प्ट के बिना लॉग इन करेंगे, यह दर्शाता है कि उचित कुंजी-आधारित प्रमाणीकरण हो गया है। यदि आप आश्वस्त हैं कि कुंजी-आधारित प्रमाणीकरण काम कर रहा है, तो आप अब /etc/ssh/sshd_config
में पासवर्ड प्रमाणीकरण को अक्षम कर सकते हैं और PasswordAuthentication no
सेट कर सकते हैं।
SSH सर्वर सुरक्षा में उन सेटिंग्स को कॉन्फ़िगर करना शामिल है जो संभावित जोखिमों को कम करती हैं। आपके SSH सर्वर को और अधिक सुरक्षित करने के लिए कुछ कदम इस प्रकार हैं:
SSH के माध्यम से कौन लॉगिन कर सकता है यह तय करने के लिए sshd_config
में AllowUsers
या AllowGroups
निर्देशों का उपयोग करें। उदाहरण के लिए, केवल user1
और user2
को SSH के माध्यम से लॉगिन करने की अनुमति देने के लिए, निम्नलिखित जोड़ें:
AllowUsers user1 user2
SSH प्रोटोकॉल 1 पुरानी हो गई है और इसकी कमजोरियाँ हैं। हमेशा प्रोटोकॉल 2 का उपयोग करें:
Protocol 2
केवल विश्वसनीय आईपी पतों से SSH एक्सेस की अनुमति देने के लिए फ़ायरवॉल नियम निर्धारित करें। ufw
के साथ, इस तरह से एक नियम जोड़ें:
sudo ufw allow from trusted_ip to any port ssh
Fail2Ban एक घुसपैठ रोकथाम सॉफ़्टवेयर है जो आपके सर्वर को ब्रूट-फोर्स हमलों से सुरक्षित रखने में मदद करता है। इसे इस तरह से स्थापित करें:
sudo apt install fail2ban
डिफ़ॉल्ट रूप से, यह स्वयं को SSH की सुरक्षा के लिए स्वचालित रूप से कॉन्फ़िगर करता है। सुनिश्चित करें कि यह चल रहा है और सक्षम है:
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
SSH के साथ समस्याओं का सामना करना असामान्य नहीं है। नीचे कुछ सामान्य समस्याएं और उनके संभावित समाधान दिए गए हैं।
यदि आपको 'कनेक्शन अस्वीकार कर दिया गया' त्रुटि मिलती है, तो हो सकता है कि SSH सेवा चल नहीं रही हो, या फ़ायरवॉल कनेक्शन को ब्लॉक कर सकता है। सत्यापित करें कि SSH सक्षम है:
sudo systemctl status ssh
सुनिश्चित करें कि आपका फ़ायरवॉल SSH पोर्ट 22 पर या जो पोर्ट आपने कॉन्फ़िगर किया है, उस पर कनेक्शन की अनुमति दे रहा है।
यदि आप प्रमाणीकरण नहीं कर सकते हैं, तो अपनी अनुमतियों को दोबारा जांचें। सुनिश्चित करें कि authorized_keys
मौजूद है, पठनीय है, और उपयोगकर्ता के स्वामित्व में है।
chmod 600 ~/.ssh/authorized_keys
chown user:user ~/.ssh/authorized_keys
SSH सर्वर /var/log/auth.log
में अधिक विस्तृत जानकारी लॉग करता है। इस फ़ाइल का निरीक्षण करना अक्सर समस्याओं का निदान करने में मदद करता है।
डीबियन पर SSH सर्वर सेट करना आपके सिस्टम के सुरक्षित दूरस्थ प्रशासन को सुनिश्चित करने के लिए एक आवश्यक कार्य है। इस मार्गदर्शिका में SSH सेटअप के महत्वपूर्ण पहलुओं को कवर किया गया है, जिसमें स्थापना, कॉन्फ़िगरेशन, और आपके SSH सर्वर को अनधिकृत एक्सेस से सुरक्षित करना शामिल है। हमेशा अपने सर्वर को अपडेट रखें, उपयोगकर्ता विशेषाधिकारों को सीमित करें, और अपने सर्वर की सुरक्षा को मजबूत करने के लिए फ़ायरवॉल और घुसपैठ रोकथाम प्रणालियों जैसी सुरक्षा उपाय लागू करें। उचित SSH सुरक्षा प्रक्रियाएं एक सुरक्षित, कुशल और विश्वसनीय सर्वर वातावरण को बनाए रखने के लिए महत्वपूर्ण हैं।
यदि आपको लेख की सामग्री में कुछ गलत लगता है, आप कर सकते हैं