केवल आंतरिक नेटवर्क से SSH सर्वर को पासवर्ड प्रमाणीकरण की अनुमति दें


22

मेरे पास एक OpenSSH 5.9p1 सर्वर है जो Ubuntu Precise 12.04 पर चल रहा है जो आंतरिक नेटवर्क और इंटरनेट दोनों से कनेक्शन स्वीकार करता है। मुझे इंटरनेट से कनेक्शन के लिए सार्वजनिक कुंजी प्रमाणीकरण की आवश्यकता है, लेकिन आंतरिक नेटवर्क से कनेक्शन के लिए सार्वजनिक कुंजी या पासवर्ड प्रमाणीकरण स्वीकार करें। क्या मैं इसे लागू करने के लिए OpenSSH को कॉन्फ़िगर कर सकता हूं?

जवाबों:


34

Matchमें निर्देश /etc/ssh/sshd_configआप चुनिंदा विन्यास निर्देशों को लागू करने के लिए अनुमति देता है। उपलब्ध मिलान मानदंडों में से एक कनेक्शन का स्रोत पता है, और इसलिए इसका उपयोग आप जो चाहते हैं उसे लागू करने के लिए किया जा सकता है। आप डिफ़ॉल्ट रूप से पासवर्ड प्रमाणीकरण को अक्षम कर सकते हैं, और फिर इसे आंतरिक नेटवर्क आईपी श्रेणियों से कनेक्शन के लिए सक्षम कर सकते हैं। (ध्यान दें कि आप ChallengeResponseAuthenticationपासवर्ड का उपयोग करने से रोकने के लिए भी अक्षम करना चाहते हैं।) यह उदाहरण सभी RFC1918 निजी IP सीमाओं से पासवर्ड प्रमाणीकरण की अनुमति देता है। देखें sshd_config मैनपेज अधिक जानकारी के लिए।

PasswordAuthentication no
ChallengeResponseAuthentication no

Match Address 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
    PasswordAuthentication yes

ध्यान दें कि मैच ब्लॉक को फाइल के अंत में जोड़ा जाना चाहिए अन्यथा इसके बाद आने वाली हर चीज का मिलान अगले मैच ब्लॉक तक हो जाएगा। मैच ब्लॉक की खराब स्थिति कनेक्ट होने में असमर्थता का कारण बन सकती है।


3
कृपया ध्यान दें: यदि आप ऐसा करते हैं और एसएसएच को कुछ सार्वजनिक रूप से सुलभ मशीन (जम्फॉस्ट) से ऊपर की मशीन (आंतरिक होस्ट) के साथ फॉरवर्ड करते हैं, तो आप अभी भी अपने आप को हमले के लिए खोल सकते हैं क्योंकि जम्फोस्ट का स्रोत आईपी एक आरपी 1718 पता होगा और अपने आंतरिक होस्ट को पासवर्ड प्रमाणीकरण की अनुमति दें।
c4urself
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.