संपादित 2 सप्ताह पहले द्वारा ExtremeHow संपादकीय टीम
एसएसएचसर्वरउबंटूलिनक्सनेटवर्किंगसुरक्षासेटअपऑपरेटिंग सिस्टमरिमोट एक्सेसप्रणाली
अनुवाद अपडेट किया गया 4 सप्ताह पहले
उबंटू पर एक SSH सर्वर सेट करना दूरस्थ प्रशासन और फ़ाइल स्थानांतरण कार्यों के लिए एक महत्वपूर्ण कदम है। SSH, या सिक्योर शेल, एक क्रिप्टोग्राफिक नेटवर्क प्रोटोकॉल है जो असुरक्षित नेटवर्क पर सुरक्षित डेटा संचार को सक्षम बनाता है। इसका उपयोग एक दूरस्थ मशीन में लॉग इन करने और कमांड निष्पादित करने के साथ-साथ नेटवर्क पर मशीनों के बीच फ़ाइलों को स्थानांतरित करने के लिए किया जाता है। इस मार्गदर्शिका में, हम आपको उबंटू सिस्टम पर एक SSH सर्वर सेट करने की प्रक्रिया से परिचित कराएंगे।
कोई भी सॉफ़्टवेयर स्थापित करने से पहले, यह सुनिश्चित करना महत्वपूर्ण है कि आपके सिस्टम का पैकेज प्रबंधक उपलब्ध सॉफ़्टवेयर पैकेज और उनकी निर्भरताओं के बारे में नवीनतम जानकारी रखता हो। इसे पूरा करने के लिए, निम्नलिखित कमांड चलाएँ:
sudo apt update
sudo
कमांड का उपयोग आमतौर पर सिस्टम प्रशासन कार्यों के लिए आवश्यक उन्नत विशेषाधिकारों के साथ कमांड निष्पादित करने के लिए किया जाता है। apt update
कमांड पैकेज रिपॉजिटरी से उपलब्ध पैकेजों की सूची को अपडेट करता है, सुनिश्चित करता है कि आपके पास नवीनतम संस्करणों तक पहुंच हो।
उबंटू का SSH सर्वर पैकेज ओपनएसएसएच सर्वर कहलाता है। इसकी सरलता, सुरक्षा और मजबूती के कारण यह लिनक्स इकोसिस्टम में सबसे अधिक उपयोग किए जाने वाले SSH सर्वर पैकेजों में से एक है। ओपनएसएसएच सर्वर स्थापित करने के लिए, टर्मिनल में निम्नलिखित कमांड निष्पादित करें:
sudo apt install openssh-server
यह कमांड उबंटू पैकेज रिपॉजिटरी से ओपनएसएसएच सर्वर पैकेज प्राप्त करेगा और इसे आपके सिस्टम पर इंस्टॉल करेगा। स्थापना के दौरान, पैकेज प्रबंधक आपके लिए स्वचालित रूप से SSH सेवा भी शुरू कर देगा।
ओपनएसएसएच सर्वर के इंस्टॉल होने के बाद, आप पुष्टि करना चाहेंगे कि SSH सेवा सही ढंग से चल रही है या नहीं। SSH सेवा की स्थिति की जांच करने के लिए निम्नलिखित कमांड का उपयोग करें:
sudo systemctl status ssh
systemctl
कमांड का उपयोग सिस्टम इकाइयों, जिसमें सेवाएं भी शामिल हैं, की स्थिति की जांच करने के लिए किया जाता है। जब आप SSH सेवा की स्थिति की जांच करते हैं, तो आपको एक संदेश दिखाई देना चाहिए जिसमें कहा गया हो कि सेवा "सक्रिय (चल रही है)" है। यदि यह नहीं चल रही है, तो आप इसे निम्नलिखित कमांड का उपयोग करके शुरू कर सकते हैं:
sudo systemctl start ssh
यदि आप चाहते हैं कि SSH सेवा बूट के समय स्वचालित रूप से शुरू हो, तो निम्नलिखित कमांड का उपयोग करें:
sudo systemctl enable ssh
SSH सर्वर कॉन्फ़िगरेशन फ़ाइल /etc/ssh/sshd_config
में स्थित है। यह फ़ाइल SSH सर्वर के विभिन्न मापदंडों, जिसमें पोर्ट नंबर, कुंजी विनिमय एल्गोरिदम और प्रमाणीकरण विधियाँ शामिल हैं, को नियंत्रित करती है। इस फ़ाइल को अपनी सुरक्षा और पहुँच आवश्यकताओं के अनुरूप कॉन्फ़िगर करना महत्वपूर्ण है।
डिफ़ॉल्ट रूप से, SSH सर्वर पोर्ट 22
पर सुनता है। हालाँकि, डिफ़ॉल्ट पोर्ट को एक गैर-मानक पोर्ट में बदलने से सुरक्षा की एक और परत प्रदान करने में मदद मिल सकती है। पोर्ट बदलने के लिए, SSH कॉन्फ़िगरेशन फ़ाइल को किसी टेक्स्ट एडिटर के साथ खोलें, उदाहरण के लिए:
sudo nano /etc/ssh/sshd_config
#Port 22
पंक्ति को खोजें, और इसे निम्नानुसार बदलें:
Port 2222
पंक्ति को अनकमेंट करने के लिए शुरुआत से #
हटा दें। सुनिश्चित करें कि आपके द्वारा चुना गया पोर्ट अन्य सेवाओं द्वारा उपयोग में नहीं है।
SSH ओवर रूट लॉगिन की अनुमति देना सुरक्षा जोखिम पैदा कर सकता है। इसे अक्षम करने की अनुशंसा की जाती है, निम्न पंक्ति को खोजें:
PermitRootLogin yes
और इसे निम्नानुसार बदलें:
PermitRootLogin no
ऐसा करने से उपयोगकर्ता गैर-रूट उपयोगकर्ता के रूप में लॉग इन करते हैं, और आवश्यक होने पर रूट में स्विच कर सकते हैं।
पब्लिक की प्रमाणीकरण पासवर्ड प्रमाणीकरण की तुलना में अधिक सुरक्षित है। इसे सक्षम करने के लिए, सुनिश्चित करें कि sshd_config
फ़ाइल में निम्नलिखित पंक्तियाँ सेट हैं:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
यह सेटिंग उपयोगकर्ता खातों के ~/.ssh/authorized_keys
फ़ाइल में संग्रहीत SSH कुंजियों का उपयोग करके ग्राहकों को प्रमाणित करने की अनुमति देती है।
SSH कॉन्फ़िगरेशन फ़ाइल में परिवर्तन करने के बाद, बदलावों को प्रभावी होने के लिए SSH सेवा को पुनरारंभ करना होगा:
sudo systemctl restart ssh
ध्यान दें कि यदि आपने पोर्ट बदल दिया है, तो SSH के माध्यम से कनेक्ट करते समय आपको नया पोर्ट निर्दिष्ट करना होगा। उदाहरण के लिए, यदि आपने SSH पोर्ट को 2222
में बदल दिया है, तो ssh user@hostname -p 2222
का उपयोग करें।
यदि आपके उबंटू सर्वर पर फ़ायरवॉल सक्षम है, तो आपको आने वाले SSH कनेक्शन की अनुमति देनी होगी। यह मानते हुए कि आप UFW (अनकम्प्लिकेटेड फ़ायरवॉल) का उपयोग कर रहे हैं, आप फ़ायरवॉल को सक्षम कर सकते हैं और SSH ट्रैफ़िक की अनुमति निम्नलिखित कमांड से कर सकते हैं:
sudo ufw allow ssh
sudo ufw enable
यदि आपने डिफ़ॉल्ट SSH पोर्ट बदल दिया है, तो ssh
पोर्ट नंबर से बदलें, उदाहरण के लिए:
sudo ufw allow 2222
यह कमांड निर्दिष्ट पोर्ट पर SSH ट्रैफ़िक की अनुमति देने के लिए फ़ायरवॉल नियमों को समायोजित करता है।
यह सुनिश्चित करने के लिए कि आपका SSH सर्वर सही ढंग से सेट है, इसे किसी अन्य मशीन (या तो किसी अन्य कंप्यूटर या वर्चुअल मशीन) से कनेक्ट करने का प्रयास करें। निम्नलिखित कमांड का उपयोग करें:
ssh username@server_ip
username
को सर्वर पर अपने वास्तविक उपयोगकर्ता नाम से बदलें और server_ip
को अपने सर्वर के IP पता या होस्टनाम से बदलें। यदि आपने पोर्ट में बदलाव किया है, तो आपको इसे -p
विकल्प का उपयोग करके निर्दिष्ट करना होगा, उदाहरण के लिए:
ssh username@server_ip -p 2222
यदि कनेक्शन सफल होता है, तो एक लॉगिन प्रॉम्प्ट दिखाई देगा, जिससे आपको SSH के माध्यम से अपने सर्वर में लॉग इन करने की अनुमति मिलती है।
अनधिकृत पहुंच को रोकने के लिए आपके SSH सेटअप की सुरक्षा को और बढ़ाना महत्वपूर्ण है। यहाँ कुछ सुझाव दिए गए हैं:
Fail2Ban एक प्रोग्राम है जो असफल लॉगिन प्रयासों की निगरानी करके ब्रूट-फोर्स हमलों को रोकने में मदद करता है। इसे निम्नलिखित का उपयोग करके स्थापित करें:
sudo apt install fail2ban
डिफ़ॉल्ट रूप से, Fail2Ban 3 विफल लॉगिन प्रयासों के बाद IP पतों को 10 मिनट के लिए प्रतिबंधित करता है। आप /etc/fail2ban/jail.local
में स्थित कॉन्फ़िगरेशन फ़ाइल को संपादित करके इन सेटिंग्स को कस्टमाइज़ कर सकते हैं।
केवल विशिष्ट उपयोगकर्ताओं को SSH एक्सेस की अनुमति देने पर विचार करें। आप यह sshd_config
फ़ाइल में निम्न पंक्ति जोड़कर कर सकते हैं:
AllowUsers user1 user2
user1
और user2
को उन वास्तविक उपयोगकर्ता नामों से बदलें जिन्हें आप SSH एक्सेस करने की अनुमति देना चाहते हैं।
इन चरणों का पालन करके, आप अपने उबंटू सिस्टम पर एक SSH सर्वर को प्रभावी रूप से सेट अप और सुरक्षित कर सकते हैं। यह सेटअप दूरस्थ सिस्टम प्रबंधन और सुरक्षित फ़ाइल स्थानांतरण के लिए एक मजबूत और सुरक्षित वातावरण प्रदान करता है। कमजोरियों को रोकने के लिए हमेशा अपने सिस्टम और SSH सर्वर को अपडेट रखना याद रखें।
यदि आपको लेख की सामग्री में कुछ गलत लगता है, आप कर सकते हैं