मैं किसी सर्वर से रूट के रूप में दूरस्थ SSH को कैसे निष्क्रिय कर सकता हूं?


54

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

आपके समय के लिए अग्रिम धन्यवाद।

जवाबों:


85

मुझे लगता है कि आप SSH पर लॉग इन करना चाहते थे? निम्नलिखित पंक्ति को यहां रखें /etc/ssh/sshd_config:

PermitRootLogin no

यदि आप कुछ उपयोगकर्ताओं को लॉग इन करने से इंकार करना चाहते हैं, तो इसे कॉन्फ़िगरेशन फ़ाइल में डालें:

DenyUsers root

यह ब्लैकलिस्टिंग दृष्टिकोण लेता है। श्वेतसूची आमतौर पर बेहतर होती है। आपकी कंपनी की अनुमति के लिए की जरूरत है robऔर adminउन सर्वर पर लॉग इन करें, निम्न कॉन्फ़िगरेशन के निर्देश का उपयोग करें:

AllowUsers rob admin

कॉन्फ़िगरेशन फ़ाइल परिवर्तन करने के बाद, कमांड का उपयोग करके ssh सेवा को पुनरारंभ करें:

sudo service ssh restart

मैनुअल पेज भी देखें ।


14
और sudo service ssh restartप्रभावी होने के लिए
मैक्सिम येफ्रेमोव

मुझे sshd_config फ़ाइल नहीं दिख रही है, मुझे यह एक / etc / ssh / ssh_config दिखाई देता है।
चिन्मय बी

@ChinmayaB आपने शायद ओपनएसएसएच सर्वर स्थापित नहीं किया है। कोशिश करेंsudo apt-get install openssh-server
लेकेनस्टाइन

14

फ़ाइल को संपादित करें /etc/ssh/sshd_config, देखें

PermitRootLogin

और इसे सेट करें no


यदि आप ऐसा करने के बिना किसी भी उपयोगकर्ताओं को जोड़ने के बिना AllowUsers <username>ऐसा नहीं करते हैं तो कोई भी SSH को अनुमति नहीं देता है?
JGlass

1
@ जेग्लास आप इस जवाब को ऊपर वाले के साथ स्वीकार कर सकते हैं जिसके पास अतिरिक्त विकल्प हैं - यह विशिष्ट लाइन केवल एसएसएच के माध्यम से लॉगिंग से रूट रूट करती है। यदि सिस्टम पर अन्य उपयोगकर्ता हैं, तो अन्य सभी चीजें समान हैं, फिर भी वे SSH के माध्यम से लॉगिन करने में सक्षम होंगे, जब तक कि आप DenyUsersउन लॉगिन को भी नहीं करते।
आर्मडैड्राइव

@armadadrive - आह, आप सुधार और स्पष्टीकरण के लिए धन्यवाद!
JGlass

5

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


1
यह मेरे लाइनोड उबंटू 14.04 मशीन के लिए डिफ़ॉल्ट नहीं था। PermitRootLoginकरने के लिए स्थापित किया गया था yesऔर कोई नहीं था AllowUsersया DenyUsersconfig लाइन। जब तक मुझे कुछ याद नहीं आ रहा है, मुझे नहीं लगता कि यह मान लेना सुरक्षित है कि यह डिफ़ॉल्ट रूप से बंद है
andrewtweber

@andrewtweber, ssh config के माध्यम से रूट लॉगिन निषिद्ध नहीं है, लेकिन रूट पासवर्ड को अमान्य मान पर सेट करके सिस्टम चौड़ा है जिसे आप दर्ज नहीं कर सकते हैं। इस प्रकार, जैसा कि मैंने कहा, आप अभी भी एक RSA कुंजी का उपयोग कर रूट के रूप में ssh कर सकते हैं, बस एक पासवर्ड के साथ नहीं।
Psusi

ठीक है धन्यवाद, क्या आप अपने उत्तर में उस स्पष्टीकरण को जोड़ सकते हैं और फिर मैं अपने
पतन

@andrewtweber, यह मेरे जवाब में पहले से ही है ..
psusi

रूट खाता कैसे लॉक किया जाता है, इसका स्पष्टीकरण आपके उत्तर में नहीं है। वैसे भी जब तक आपका जवाब संपादित नहीं किया जाता है, तब तक मैं एक डाउनवोट नहीं निकाल सकता, इसलिए आगे बढ़ें और अगर आप चाहें तो इसके बारे में जिद्दी
रहें
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.