मैं केवल कुछ IP पतों से SSH पासवर्ड प्रमाणीकरण की अनुमति कैसे दे सकता हूं?


103

मैं केवल एक निश्चित सबनेट से एसएसएच पासवर्ड प्रमाणीकरण की अनुमति देना चाहता हूं। मैं इसे विश्व स्तर पर अस्वीकार करने का विकल्प देखता हूं /etc/ssh/sshd_config:

# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes

क्या इस कॉन्फ़िगरेशन को IP पतों की चुनिंदा श्रेणी में लागू करने का कोई तरीका है?

जवाबों:


156

के अंत में एक Matchब्लॉक का उपयोग करें :/etc/ssh/sshd_config

# Global settings
…
PasswordAuthentication no
…

# Settings that override the global settings for matching IP addresses only
Match address 192.0.2.0/24
    PasswordAuthentication yes

फिर sshd सेवा को उसके विन्यास को पुनः लोड करने के लिए कहें:

service ssh reload

1
मैंने यह कोशिश की (192.168.0.0/16 के बजाय) और जब मैंने ssh सेवा को फिर से शुरू किया तो मुझे लॉक हो गया। SSH ने किसी भी कनेक्शन से इनकार कर दिया। किसी भी विचार क्यों यह हो सकता है?
माइकल झरना

2
@MichaelWaterfall इतनी कम जानकारी के साथ बताना असंभव है। जब तक आपने नए कॉन्फ़िगरेशन को मान्य नहीं किया है, तब तक एक शेल चालू रखना सुनिश्चित करें। Ssh सेवा को पुनरारंभ करने से सक्रिय कनेक्शन प्रभावित नहीं होते हैं।
गाइल्स

28
संभावना मुद्दा यह है कि आप अपने sshd_config के बीच में मैच ब्लॉक को कहीं भी रख दें। मैच लाइनें अगली मिलान रेखा तक हर निम्नलिखित रेखा को प्रभावित करती हैं, इसलिए उन्हें फ़ाइल के अंत में होना चाहिए।
केन साइमन

6
जवाब में इंडेंटेशन के बावजूद, sshd_configPython;)
Nick T

1
@frepie Matchब्लॉक अगले Matchनिर्देश तक या फ़ाइल के अंत तक विस्तारित होता है । इसलिए आपको इसे अंत में रखना होगा।
गिल्स

8

आप जोड़ सकते हो:

AllowUsers user1@192.168.*.*, user2@192.168.*.*

यह डिफ़ॉल्ट व्यवहार को बदल देता है, सभी मेजबानों से वास्तव में अन्य सभी उपयोगकर्ताओं को इनकार करता है। ओपन ब्लॉक संस्करण 5.1 और इसके बाद के संस्करण पर उपलब्ध मैच ब्लॉक ।


कॉल मैं एक उपयोगकर्ता के बजाय एक समूह की अनुमति देता हूं
लैमर

@ लैमर फ्रॉम man sshd_config, यह जैसा दिखता है, AllowGroupsवैसा ही काम करता है AllowUsers, लेकिन AllowUsersलगता है कि इस पर पूर्वता बरती जाएगी AllowGroups
conradkdotcom
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.