मैं पासवर्ड के साथ दूरस्थ ssh लॉगिन से अपना खाता कैसे लॉक कर सकता हूं?


10

मैं पासवर्ड के साथ रिमोट लॉगिन को पूरी तरह से अक्षम नहीं करना चाहता, लेकिन मैं इसे बनाना चाहता हूं ताकि मेरा खाता केवल कुंजी जोड़ी प्रमाणीकरण के साथ सुलभ हो (ऐसे अन्य उपयोगकर्ता हैं जो लॉग इन करने के लिए पासवर्ड का उपयोग करना चाहते हैं)। क्या आदर्श रूप से सिस्टम सेटिंग्स को बदले बिना, प्रति-उपयोगकर्ता के आधार पर इसे बदलना संभव है?

और यह स्पष्ट करने के लिए, मेरे खाते में sudo पहुंच है, इसलिए मैं पासवर्ड लॉक नहीं करना चाहता।

जवाबों:


9

में मैच विकल्प का उपयोग कर सकते हैं sshd_config

मैच एक सशर्त ब्लॉक का परिचय देता है। यदि मैच लाइन पर सभी मानदंड संतुष्ट हैं, तो निम्न पंक्तियों पर कीवर्ड किसी अन्य मिलान लाइन या फ़ाइल के अंत तक, कॉन्फ़िगरेशन फ़ाइल के वैश्विक अनुभाग में सेट किए गए ओवरराइड करते हैं। [१]

तो, उस फ़ाइल के अंत में आप निर्दिष्ट कर सकते हैं:

Match User yourusername
PasswordAuthentication no

देखें man 5 sshd_configउपलब्ध विकल्पों में से सभी के लिए।

[१] http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config&sektion=5


यह पहले से ही अच्छा है, लेकिन मैं देखना चाहता हूं कि क्या मैं sshd_config को संपादित किए बिना कर सकता हूं।
फुनेह

2
यह देखते हुए कि आप एक सिस्टम परिवर्तन करना चाहते हैं, अर्थात, जो अन्य उपयोगकर्ताओं पर कोई प्रभाव नहीं डालता है, वह संभव नहीं लगता है ...
jasonwryan

और ~ / .sh / config के बारे में क्या? क्या आपने वहां की सेटिंग सहित कोशिश की है?
ttyS0

1
ग्राहक के लिए AFAK ~ / .ssh / config, न कि सर्वर।
एडम ब्रीटेक

1

Jasonwryan से जवाब यह परिवर्तन करने के लिए सही रास्ता होने जा रहा है। इसके अलावा मैं केवल इतना ही कहूंगा कि आप मैच को समूह आधारित होने के लिए सेट कर सकते हैं ताकि व्हील ग्रुप के किसी भी उपयोगकर्ता को कुंजी प्रमाणीकरण का उपयोग करना पड़े, जबकि अन्य पासवर्ड का उपयोग कर सकें।

मुझे पता है कि आप सिस्टम कॉन्फिग फाइलों को बदले बिना ऐसा करना चाहते हैं, लेकिन एक अच्छा कारण है कि यह संभव नहीं होगा। आपके सिर में यह समझ में आता है कि आपके उपयोगकर्ता को अधिक सुरक्षित लॉगिन नीति बनाने में सक्षम होना चाहिए, लेकिन सिर्फ इसलिए कि आपके दिमाग में यह अधिक सुरक्षित विकल्प है, इस तथ्य को नहीं बदलता है कि यह अभी भी सिस्टम लॉगिन आवश्यकताओं के लिए एक बदलाव है एक दूरस्थ उपयोगकर्ता।

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

क्या यह समझाता है कि आप जिस प्रकार का परिवर्तन करना चाहते हैं, वह सिस्टम कॉन्फिग फाइल से ही क्यों संभव है?


इस तरह से सोचना मुश्किल है, क्योंकि अगर मैं एक सामान्य उपयोगकर्ता था जो सुडोल नहीं है, तो मैं खुशी से अपनी चाबियाँ सेट कर सकता हूं, फिर पासवर्ड लॉक कर सकता हूं, इस प्रकार मेरे खाते को "केवल एकमात्र प्रमाणीकरण" बना सकता हूं।
फुनेहे

एक अन्य विचार में, मैं अपना पासवर्ड हर बार लॉक करने जा सकता हूं, जिसे मुझे अपने खाते के लिए सभी पासवर्ड लॉग को अस्वीकार करना चाहिए। फिर एक बार जब मैं अपनी कुंजियों के साथ लॉग इन करता हूं, तो मैं पासवर्ड को फिर से sudo में सक्षम कर सकता हूं। जाहिर है कि यह एक अच्छा समाधान नहीं है, लेकिन यह मुझे लगता है कि यह संभव है।
फुनेहे

1
आप केवल ऐसा कर सकते हैं क्योंकि सिस्टम व्यवस्थापक ने कुंजी प्रमाणीकरण की अनुमति दी है और आप केवल अपने लिए प्रतिबंध जोड़ रहे हैं, कुछ भी नहीं बदल रहे हैं। आपके पासवर्ड को अक्षम करने से यह अमान्य मान पर सेट हो जाता है, यह नहीं बदलता है कि सिस्टम डेमॉन क्या प्रमाणीकरण की अनुमति देता है।
कालेब

"अपने लिए प्रतिबंध जोड़ना, कुछ भी बदलना नहीं", ठीक वही है जो मैं करना चाहता हूं।
फुनेहे

@ कालेब: अधिक प्रतिबंध authorized_keysलगाने की अनुमति में कोई सुरक्षा समस्या नहीं होगी , जैसा कि फुनेहे चाहता है। उदाहरण के लिए कुछ कुंजियों को कुछ आदेशों तक सीमित कर सकते हैं। authorized_keys
गिल्स एसओ- बुराई को रोकें '27

0

अपने लिए प्रतिबंध जोड़ना, कुछ भी बदलना नहीं

क्‍लाइंट की ओर से क्‍यों नहीं, अगर यह सुनिश्चित हो जाए कि ssh लॉगिन प्रयासों के लिए क्‍लाइंट का उपयोग किया जाएगा? यदि हाँ, sshd_config के बजाय ssh_config में परिवर्तन करने का प्रयास करें। पैरामीटर के लिए जाँच करें 'PasswordAuthentication No' और PreferredAuthentication

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