बस एक नया वर्चुअल उबंटू सर्वर बनाया और मैं इसे उत्पादन उपयोग के लिए सख्त करने की प्रक्रिया में हूं । मेरे पास वर्तमान में एक रूट खाता है । मैं निम्नलिखित करना चाहता हूं:
एक नया उपयोगकर्ता बनाएं (चलो उन्हें कॉल करें jim बाकी के लिए) । मैं उन्हें एक है चाहता हूँ /home/ निर्देशिका ।
दे दो jim एसएसएच एक्सेस।
अनुमति दें jim को su रूट करने के लिए लेकिन प्रदर्शन नहीं sudo संचालन.
रूट एसएसएच एक्सेस बंद करें ।
क्रूर-हमलों को रोकने में मदद करने के लिए एसएसएचडी को एक गैर-मानक बंदरगाह पर ले जाएं ।
मेरी समस्या पहले दो मदों के साथ है । मैंने पहले ही पाया है useradd लेकिन किसी कारण से, मैं एसएसएच पर इसके साथ बनाए गए उपयोगकर्ता के रूप में लॉग इन नहीं कर सकता । क्या मुझे इसकी अनुमति देने के लिए एसएसएचडी को हरा देना होगा?
संपादित करें (रूट के रूप में) /etc/ssh/sshd_config. इसके लिए निम्नलिखित संलग्न करें:
Port 1234PermitRootLogin noAllowUsers jim
Port 1234 पोर्ट 1234 पर सुनने के लिए एसएसएच का कारण बनता है । आप 1 से 65535 तक किसी भी अप्रयुक्त पोर्ट का उपयोग कर सकते हैं । एक विशेषाधिकार प्राप्त पोर्ट (पोर्ट 1-1024) चुनने की सिफारिश की गई है जिसका उपयोग केवल रूट द्वारा किया जा सकता है । यदि आपका एसएसएच डेमॉन किसी कारण से काम करना बंद कर देता है, तो एक दुष्ट एप्लिकेशन कनेक्शन को रोक नहीं सकता है ।
PermitRootLogin प्रत्यक्ष रूट लॉगिन को अस्वीकार करता है ।
AllowUsers jim उपयोगकर्ता की अनुमति देता है jim एसएसएच के माध्यम से लॉगिन करने के लिए । यदि आपको हर जगह से लॉगिन करने की आवश्यकता नहीं है, तो आप जिम को आईपी पते पर सीमित करके इसे और अधिक सुरक्षित बना सकते हैं (अपने वास्तविक आईपी पते के साथ 1.2.3.4 बदलें):
AllowUsers jim@1.2.3.4
कॉन्फ़िगरेशन फ़ाइल में परिवर्तन /etc/ssh/sshd_config कॉन्फ़िगरेशन को पुनः लोड करने के लिए तुरंत लागू नहीं किया जाता है, चलाएं:
में सुराग नहीं होगा /var/log/auth.log क्यों एसएसएच (या पीएएम) लॉगिन प्रयास को अस्वीकार कर रहा है । अतिरिक्त सुराग का उपयोग करके पाया जा सकता है -v के साथ विकल्प एसएसएच ग्राहक। कई सामान्य स्थितियां, कुछ अन्य उत्तरों में उल्लिखित हैं:
उपयोगकर्ता खाते में पासवर्ड का अभाव है, या अन्यथा अक्षम है (देखें man passwd, पासवर्ड रीसेट करने या सामग्री की जांच करने का प्रयास करें /etc/shadow).
/etc/ssh/sshd_config लॉगिन को अस्वीकार करने के लिए कॉन्फ़िगर किया गया है (DenyUsers, AllowUsers, PasswordAuthentication, PubkeyAuthentication, UsePAM आदि, देखें man sshd_config).
उपयोगकर्ता का खोल सूचीबद्ध नहीं है /etc/shells.
एसएसएच ऑपरेशन से संबंधित निर्देशिकाओं या फ़ाइलों पर विभिन्न अनुमति समस्याएं: /etc/ssh, /home/jim/.ssh, /home/jim/.ssh/*, आदि ।
मैं भी उपयोग करने की सलाह दूंगा एडयूज़र (के बजाय यूजरडीडी) नए उपयोगकर्ताओं को जोड़ने के लिए; यह विभिन्न डिफ़ॉल्ट खाता सेटिंग्स के बारे में थोड़ा अधिक अनुकूल है ।
जब तक उपयोगकर्ता का हिस्सा नहीं है admin समूह, वे नहीं कर पाएंगे सुडो रूट करने के लिए । उनके लिए उपयोग करने के लिए आपका, आपको एक रूट पासवर्ड सेट करना होगा (passwd root), जिसके बाद मैं सेटिंग की सलाह देता हूं PermitRootLogin=no में /etc/ssh/sshd_config.
मैं गलत हो सकता हूं लेकिन मुझे कनेक्ट करने से पहले हमेशा सर्वर डेमॉन स्थापित करना होगा (कम से कम डेस्कटॉप पर)एसएसएच डिफ़ॉल्ट रूप से स्थापित है लेकिन यह सिर्फ क्लाइंट है
यह आदेश सर्वर स्थापित करता है
sudo apt-get install openssh-server
आप पोर्ट को बदल सकते हैं और संपादन करके रूट लॉगिन को रोक सकते हैं
यदि यह आदेश एक "!"चरित्र तो लॉगिन इस खाते के लिए अक्षम है । निष्पादन passwd jim चूंकि रूट आपको एक नए और पुष्टि किए गए पासवर्ड स्ट्रिंग के लिए संकेत देगा जिसके बाद ऊपर दिए गए ग्रेप कमांड को जिम के लिए पासवर्ड का प्रतिनिधित्व करने वाली हैश स्ट्रिंग वापस करनी चाहिए ।
यह भी सत्यापित करना सुनिश्चित करें कि जिम में एक लॉगिन शेल है, जो डिफ़ॉल्ट रूप से सेट है, और एक होम डायरेक्टरी मौजूद है ।
कृपया ध्यान दें कि एसएसएच सर्वर सेटिंग्स को संशोधित करने की जानकारी के लिए लेकेनस्टीन की पोस्ट ।
मेरे मामले में मेरे पास एक समूह था जिसे एक्सेस की अनुमति थी और उपयोगकर्ता इसका हिस्सा नहीं था । इसने मेरे लिए इसे हल किया ।
उपयोगकर्ता के साथ ऊपर दिए गए उदाहरण का उपयोग करना jim और समूह के सदस्य मान jim चूंकि यह केवल समूह (मुद्दा) है groups के रूप में लॉग इन करते समय कमांड jim समूहों को खोजने के लिए आप का एक हिस्सा हैं) । मेरे में /etc/ssh/sshd_config फ़ाइल मैं था AllowGroups sshusers प्रवेश और इस प्रकार जोड़ने की जरूरत है jim को sshusers समूह। नीचे यह कैसे पूरा किया जाएगा:
usermod -a -G sshusers jim
अपने समूह और उपयोगकर्ता को अपने कॉन्फ़िगरेशन के लिए उपयुक्त के रूप में बदलें ।
रोलैंड मेरे पास एक/आदि / नोलॉगिन ' फ़ाइल है लेकिन यह खाली है । मैंने इसे हटा दिया और एसएसएच को फिर से शुरू किया लेकिन यह अभी भी जवाब दे रहा है अनुमति अस्वीकार कर दी गई है, कृपया पुनः प्रयास करें । ` जब मैं कोशिश करता हूं और लॉग इन करता हूं ।
हाय! मैं सर्वर में आपकी मदद कर सकता हूं, मुझे नहीं पता कि एसएसएच के साथ आपकी समस्या क्या है, क्योंकि मेरे लिए डिफ़ॉल्ट कॉन्फ़िगरेशन कभी भी मेरे कनेक्शन को मना नहीं करता है । आप मैन 5 नोलोगिन देख सकते हैं, यह लिखता है, कि यदि /आदि/नोलोगिन मौजूद है, तो आप केवल रूट के साथ लॉग इन कर सकते हैं । सामान्य रूप से लॉगिन करने का प्रयास करें, फिर परिणाम लिखें ।