कई पोर्ट SSH के लिए कॉन्फ़िगरेशन


24

मुझे एसएसएच को दो बंदरगाहों पर सुनने की आवश्यकता है: 22 व्यवस्थापक पहुंच की मेजबानी के लिए और 26 नियमित पहुंच के लिए। मैं 26 पर रूट लॉगिन को समाप्त करने और पोर्ट 22 के लिए सभी लेकिन आंतरिक आईपी को अस्वीकार करना चाहूंगा। बाद में iptables नियमों के साथ किया जा सकता है, लेकिन मुझे पूर्व के बारे में पता नहीं है। कोई विचार?


3
रूट कभी भी ssh के माध्यम से लॉगिन करने में सक्षम नहीं होना चाहिए; अवधि; कहानी का अंत; हिरन यहाँ रुकता है; कभी नहीँ। यदि आपको रूट एक्सेस की आवश्यकता है तो आप अपने सामान्य उपयोगकर्ता के माध्यम से लॉगिन करते हैं, फिर उसके साथ उन्नत suया अभी तक बेहतर है sudo
क्रिस एस

6
यह पूरी तरह से ठीक है कि यदि आप उन्हें मुख्य प्रमाणीकरण, या यहां तक ​​कि पासवर्ड प्रमाणीकरण के लिए प्रतिबंधित करते हैं तो सत्र s पर रूट लॉगिन की अनुमति दें, यदि सत्र IP पते नियंत्रण के लिए प्रतिबंधित है। 'कभी नहीं' बहुत मजबूत है।
आठबेटटोनी

3
मेरा तर्क है कि ऐसी परिस्थितियाँ होती हैं जहाँ इसका रूट लॉगिन होना मायने रखता है (उदाहरण के लिए / होम विभाजन पर फाइलसिस्टम भ्रष्टाचार, मानक उपयोगकर्ता के रूप में लॉगिन को छोड़कर)। एक चीज जो मदद कर सकती है वह है sshd_config PermitRootLoginपैरामीटर को सेट करना without-password। यह केवल ssh कुंजी के साथ ssh के माध्यम से रूट लॉगिन की अनुमति देता है। पासवर्ड प्रमाणीकरण काम नहीं करेगा।
इविहित

यह लेख सहायक हो सकता है: everythingsysadmin.com/2010/09/…
TomOnTime

जवाबों:


27

में /etc/ssh/sshd_config, निम्नलिखित परिवर्तन करें। उस रेखा को देखें जो कहती है Port 22और इसके अंतर्गत एक समान रेखा जोड़ें।

Port 22
Port 26

फ़ाइल सहेजें और sshd डेमॉन को पुनरारंभ करें।

मैं ऐसी स्थितियों में करता हूं जहां मैंने पोर्ट 22 पर आंतरिक उपयोगकर्ताओं के लिए ssh सक्षम किया है, लेकिन कहना है कि पोर्ट 2222 पर बाहरी कनेक्टिविटी की आवश्यकता है। यह ssh डेमॉन को दोनों पोर्ट नंबर पर बांधता है।


6
और अब आप रूट लॉगिन को 22 पोर्ट में कैसे सीमित कर सकते हैं?
फकर

@faker मैंने फ़ायरवॉल / नेटवर्क प्रतिबंधों का उपयोग केवल आईपी के
व्हाइटलाइनर

10

आप वैकल्पिक कॉन्फ़िगरेशन फ़ाइल को निर्दिष्ट करने के -fलिए sshd विकल्प का उपयोग कर सकते हैं । कॉन्फ़िगरेशन फ़ाइल में आपको उपयोग करने की आवश्यकता होगी

Port 26 

उस पोर्ट को बदलने का निर्देश, जिसे sshd सुन रहा है।

सेट

PermitRootLogin no

रूट लॉगिन को निष्क्रिय करने के लिए

आप तब कुछ ऐसा कर सकते हैं

/usr/sbin/sshd -f /etc/ssh/sshd_config_port_26

आप मानक sshd स्टार्टअप स्क्रिप्ट की प्रतिलिपि बना सकते हैं और उन्हें संशोधित कर सकते हैं ताकि आप स्टार्टअप पर पोर्ट 26 सेवा शुरू कर सकें।

आप यह क्यों कर रहे हैं ?


1
दो पूरी कॉन्फ़िगरेशन फ़ाइलों के बजाय, यदि आप सर्वर को अन्यथा अनिवार्य रूप से समान होना चाहते थे, तो क्या यह अधिक सीधा और उचित नहीं होगा, बस जोड़ने के लिए-o PermitRootLogin yes -p 26
JamesTheAwesomeDude

3

मान लें कि sshd कमांड-लाइन विशिष्ट कॉन्फिग फाइल के साथ चलेगा, तो आप एक दूसरा कॉन्फिगरेशन बना सकते हैं जो 26 पोर्ट पर चलता है और दूसरा स्टार्ट-अप स्क्रिप्ट निष्पादित करता है जो उस पोर्ट को संदर्भित करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.