एसएसएच के साथ प्रमाणीकरण आदेश


22

जब मैं ssh के माध्यम से लॉगिन करता हूं, तो मैं -vदेखता हूं कि ssh निम्नलिखित तरीके को प्रमाणित कर रहा है

debug1: Authentications that can continue: publickey,gssapi-with-mic,password,hostbased

मैं ऑर्डर बदलना चाहूंगा ... कोई विचार कैसे?

मेरी बड़ी समस्या यह है कि बंद खातों वाले उपयोगकर्ता, अभी भी सार्वजनिक-कुंजियों के माध्यम से लॉगिन कर सकते हैं। मैंने पाया है कि मैं उपयोगकर्ता को "ssh-lock" समूह में जोड़ने के लिए sshing से उस समूह को जोड़ सकता हूं, लेकिन मैं अभी भी सोच रहा हूं कि क्या ssh'd बताने का कोई तरीका है: कृपया कुंजी से पहले पासवर्ड की जांच करें ...


1
मुझे लगता है कि आप इसे गलत तरीके से ले रहे हैं - कुंजी (आमतौर पर) पासवर्ड से अधिक सुरक्षित हैं। यदि खाता लॉक है, तो आपको प्रमाणीकरण विधि की परवाह किए बिना उपयोगकर्ता को लॉग इन न करने के लिए sshd डेमॉन को बताना होगा।
ईटबिटोनी

जैसा कि मैंने कहा, मुझे एक समाधान मिला, DenyGroups के माध्यम से। मैं इसे हित के लिए कह रहा हूं।
Oz123 7

जवाबों:


31

Ssh सर्वर यह तय करता है कि कौन सा प्रमाणीकरण विकल्प इसकी अनुमति देता है, ssh क्लाइंट को यह तय करने के लिए कॉन्फ़िगर किया जा सकता है कि उन्हें किस क्रम में प्रयास करना है।

Ssh क्लाइंट PreferredAuthenticationsइसे निर्धारित करने के लिए ssh config फाइल में विकल्प का उपयोग करता है ।

यहां से man ssh_config( इसे यहां ऑनलाइन देखें ):

PreferredAuthentications
             Specifies the order in which the client should try protocol 2 authentication methods.  This allows a client to prefer
             one method (e.g. keyboard-interactive) over another method (e.g. password).  The default is:

                   gssapi-with-mic,hostbased,publickey,
                   keyboard-interactive,password

मुझे विश्वास नहीं है कि यह संभव है, स्रोत के साथ खेलने के बिना, ओपनएसएसएच सर्वर को एक निश्चित आदेश पसंद करने के लिए कहने के लिए - यदि आप इसके बारे में सोचते हैं, तो यह वैसे भी काफी मायने नहीं रखता है।


यदि आप Windows के लिए Git Bash का उपयोग कर रहे हैं, तो अपने ssh config को सहेजें~/.ssh/config
स्पेन्सर विलियम्स

यदि एक विधि पिछले एक पर निर्भर करती है, तो आदेश समझ में आता है। उदाहरण के लिए, कीबोर्ड-इंटरेक्टिव के तहत 2FA पहले वैध पासवर्ड प्रदान करने वाले उपयोगकर्ता पर निर्भर हो सकता है।
स्टीविया

क्या आप उस स्रोत के लिए पोस्ट कर सकते हैं, जहाँ आपने ऊपर PreferredAuthentication जानकारी कॉपी-पेस्ट की है? मैं इसे न तो अंदर देखता हूं man sshऔर /etc/ssh/ssh_configन ही अंदर /etc/ssh/sshd_config। आपको यह जानकारी कहां से मिली?
गेब्रियल स्टेपल्स

मिल गया! में था man ssh_config। मैंने इस स्रोत को शामिल करने के लिए आपके उत्तर को अपडेट करने के लिए समीक्षा के लिए एक संपादन प्रस्तुत किया। कृपया अगली बार सूत्रों का हवाला दें! बहुत धन्यवाद।
गेब्रियल स्टेपल्स

18

इसे जोड़ना:

PreferredAuthentications keyboard-interactive,password,publickey,hostbased,gssapi-with-mic

... /etc/ssh/ssh_configइसको हल करने में मेरी मदद की, और बहुत समय भी बचाया!

आप यह जांच सकते हैं कि यह ssh -v user@hostकनेक्ट करने के लिए कमांड का उपयोग करके काम करता है , जहां -v"क्रिया" के लिए खड़ा है।


2
सुनिश्चित करें कि आप इसे सही फ़ाइल में जोड़ रहे हैं ssh_configऔर नहीं sshd_config। बाद वाला आपके ssh को विफल कर देगा!
3

0

पहले से ही PreferredAuthenticationsविकल्प का उल्लेख करते हुए अन्य दो उत्तरों को जोड़ना, मैं आपको जोड़ना चाहता हूं कि यदि आप नहीं चाहते हैं तो इस सेटिंग को सेट करने के लिए किसी भी फाइल को संपादित करने की आवश्यकता नहीं है । इसके बजाय, आप इसे केवल इस विकल्प के साथ एक व्यक्तिगत कॉल के लिए कमांड-लाइन पर सेटssh कर सकते -oहैं:

ssh -o PreferredAuthentications=publickey,gssapi-with-mic,hostbased,keyboard-interactive,password user@hostname

संदर्भ:

  1. PreferredAuthenticationsविकल्प के बारे में अधिक पढ़ने के लिए , देखें man ssh_config( इसे यहां ऑनलाइन देखें )। मैनुअल पेज ( ऑनलाइन यहां ) ssh -oमें विकल्प के बारे में भी पढ़ें ।man ssh
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.