Sshd_config में AllowGroups और AllowUsers दोनों का उपयोग कैसे करें?


28

मैं संशोधित करने के लिए कोशिश कर रहा हूँ /etc/ssh/sshd_configदोनों के साथ अपने समर्पित debian7 सर्वर पर AllowUsersऔर AllowGroups। हालाँकि मुझे नहीं लगता कि दोनों एक साथ काम कर सकते हैं।


स्थापित करना

  • नामक एक उपयोगकर्ता है testuser
  • वह उपयोगकर्ता नामक एक समूह में है ssh-users:

    $ groups testuser
    testuser : testuser ssh-users
    
  • testuserके माध्यम से कनेक्ट करने ssh testuser@<server_ip>और उनके पासवर्ड दर्ज करने की कोशिश कर रहा है ।

  • मेरा sshd_configयहाँ पाया जा सकता है: http://pastebin.com/iZvVDFKL - मुझे लगता है कि मूल रूप से केवल वही परिवर्तन हैं जो मैंने डिफ़ॉल्ट रूप से किए हैं:
    • स्थापित करना PermitRootLogin no
    • और दो उपयोगकर्ताओं को जोड़ें AllowUsers(वास्तविक उपयोगकर्ता नाम मेरे सर्वर पर भिन्न हैं)
  • service ssh restartको संशोधित करने के बाद हर बार चलाया जाता है sshd_config

समस्या

  • testuser कनेक्ट कर सकते हैं जब के साथ सेटAllowUsers:

    AllowUsers user1 user2 testuser
    
  • testuserअपने समूह के लिए सेटिंग करते समय कनेक्ट नहीं हो सकता AllowGroups:

    AllowUsers user1 user2
    AllowGroups ssh-users
    

    जिसके परिणामस्वरूप Permission denied, please try again.जब testuserssh पासवर्ड प्रॉम्प्ट में अपना पासवर्ड दर्ज करता है।


प्रश्न

  • AllowUsersओवरराइड करता है AllowGroups?
  • उपयोगकर्ता नाम को मैन्युअल रूप से जोड़े बिना इसे ठीक करने का सबसे अच्छा तरीका क्या है AllowUsers? आदर्श रूप में मैं ssh-usersभविष्य में उपयोगकर्ताओं को sshd_configफिर से छूने के बिना समूह में जोड़ने में सक्षम होना चाहूंगा ।

5
Ideally I'd like to be able to just add users to the ssh-users group in the future without having to touch sshd_config again.- तो आप AllowUsers का उपयोग क्यों कर रहे हैं? सभी को समूह / समूहों में रखें।
ज़ॉकेडेक

जवाबों:


24

हां, AllowUsersमिसाल है AllowGroups। यदि निर्दिष्ट किया गया है, तो केवल वे उपयोगकर्ता जो प्रतिमान से मेल खाते हैं AllowUsers, SSHD उदाहरण से जुड़ सकते हैं।

sshd_config मैनपेज के अनुसार :

अनुमति देते हैं / इनकार निर्देशों निम्न क्रम में संसाधित कर रहे हैं: DenyUsers, AllowUsers, DenyGroups, और अंत में AllowGroups

इसलिए, आपकी समस्या का समाधान संभवतः एक या दूसरे का उपयोग करना है, संभवतः समूह पहुंच निर्देश यदि समूह उपयोगकर्ताओं को प्रबंधित करने का आपका पसंदीदा तरीका है।


तो बस AllowGroups user1 user2 ssh-usersकाम करना होगा ? मैं इसे जाँचने से पहले आपकी पुष्टि करना पसंद करता हूँ क्योंकि मैंने ऐसा पहले किया था जहाँ मैंने गलती से अपने स्वयं के निजीकरण को हटा दिया था और इसे ठीक करने के लिए समर्थन के माध्यम से जाना था। Matchब्लॉक के बारे में कैसे ? मैं सलाह के लिए पूछ रहा हूं, हालांकि मैंने मैन पेज देखा है, मुझे यह जानने के लिए अंतर्ज्ञान / अनुभव नहीं है कि यह व्यवहार में कैसे काम करेगा। उदाहरण के लिए मैं प्रसंस्करण के क्रम के साथ लगा, क्योंकि AllowGroups के बाद AllowUsers आता है, यह संसाधित होने पर इसे ओवरराइड करेगा, लेकिन मेरा अंतर्ज्ञान वहां गलत था :)
जोहान्स

2
यदि उन सभी 3 आपके सिस्टम पर समूह हैं, तो यह काम करना चाहिए। अगर user1 और user2 सिर्फ उपयोगकर्ता हैं, तो आप उन्हें ssh-users में जोड़ सकते हैं, और AllowGroups ssh-users के साथ मिल सकते हैं।
जेफ-इनवेंटर क्रोमओएस

@ जोहान्स जब आप ऐसी चीज़ का परीक्षण करते हैं, तो सुनिश्चित करें कि आपके पास मशीन पर खोल दिया गया है। Sshd को फिर से शुरू करने से आपका सत्र नहीं टूटेगा, और यदि आप एक नया नहीं खोलते हैं, तो आप मौजूदा के साथ अपनी गंदगी को ठीक कर सकते हैं।
जीन-बर्नार्ड जिनसेन

6

जेफ का जवाब प्रश्न की बारीकियों को विस्तृत रूप से शामिल करता है, लेकिन मुझे यह प्रश्न उपयोग करने के लिए AllowUsersऔर AllowGroupsथोड़े अलग परिदृश्य में मिला। मैं विशिष्ट सबनेट से आने वाले समूह (ssh) के उपयोगकर्ताओं के लिए आने वाले कनेक्शन को प्रतिबंधित करना चाहता था।

Sshd_config में कनेक्शन नियम एक फ़िल्टर है - जैसा कि प्रत्येक अतिरिक्त नियम लागू किया जाता है, स्वीकार्य उपयोगकर्ताओं का सेट केवल कम किया जा सकता है। PATTERNSin ssh_config (5) उन नियमों के रूप की व्याख्या करें।

इसके अतिरिक्त, के AllowUsersअनुभाग के अनुसार sshd_config:

यदि पैटर्न USER @ HOST का रूप लेता है, तो USER और HOST को अलग-अलग चेक किया जाता है, विशेष रूप से होस्ट से विशेष उपयोगकर्ताओं के लिए लॉगिन को प्रतिबंधित करता है। HOST मानदंड में CIDR पते / मास्कलेन प्रारूप में मिलान के लिए पते हो सकते हैं।

AllowGroups USER @ HOST फ़ॉर्म स्वीकार नहीं करता है।

तो, ssh समूह में उपयोगकर्ताओं को 1) और 2) को विशिष्ट सबनेट / होस्ट से स्वीकार करने के लिए:

AllowUsers *@192.168.1.0/24 *@*.example.com *@1.2.3.4
AllowGroups ssh

AllowGroups doesn't accept the USER@HOST form. यकीन नहीं है कि आप इसका क्या मतलब है, और निश्चित रूप से नहीं है क्या config फ़ाइल या डॉक्स कहते हैं। समूह को अनुमति दें निश्चित रूप से आप ssh username@example.com का उपयोग करके लॉगिन कर सकते हैं।
एंड्रयूड

1
@AndrewD AllowGroups केवल समूह नामों को स्वीकार करता है - जैसे आप नहीं कर सकते AllowGroups ssh@example.com। HOST वह स्रोत है, जहां से आप sshing कर रहे हैं।
bjacobowski

3

यहाँ एक समाधान है जिसे हमने काम करते हुए पाया है:

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