क्लाइंट से ssh सार्वजनिक कुंजी प्रमाणीकरण अस्थायी रूप से अक्षम करें


37

क्या ssh'ing के दौरान सार्वजनिक कुंजी प्रमाणीकरण को अस्थायी रूप से अक्षम करने का एक तरीका है, और इसके बजाय पासवर्ड प्रमाणीकरण का उपयोग करें?

मैं वर्तमान में रिमोट सर्वर का उपयोग करना चाहता हूं, लेकिन मैं दूसरे लैपटॉप का उपयोग कर रहा हूं, मेरा नहीं।

उस लिंक को ब्राउज़ करते हुए , मैंने पाया कि कमांड ssh -o PreferredAuthentications=keyboard-interactive -o PubkeyAuthentication=no host1.example.orgहर जगह काम नहीं करता है। और हाँ, यह मेरे लिए काम नहीं करता है। मैं उपयोग कर रहा हूँ: OpenSSH_5.9p1 डेबियन-5ubuntu1, OpenSSL 1.0.1 14 मार्च 2012

संपादित करें: मैंने भी टाइप करने की कोशिश की, ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no लेकिन अभी भी "अनुमति अस्वीकृत (publickey)" है।

तो, क्या रिमोट कमांड में काम करने के लिए एक विशिष्ट कॉन्फ़िगरेशन है, उस कमांड को काम करने के लिए? या, जब वह आदेश अपेक्षित रूप से काम करेगा?

सलाह के लिए बहुत बहुत धन्यवाद।


30
यदि आपने फिर से लिंक का अनुसरण किया, तो कोई व्यक्ति यह कह रहा था कि आपका तरीका काम नहीं कर रहा है, लेकिन यह किया:ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no
निक डब्ल्यू

@NikW बहुत बहुत धन्यवाद, शायद मुझे इसका उल्लेख करना चाहिए था, उस कमांड को आज़माया जिसे आपने प्रस्तावित किया था, अभी भी "अनुमति अस्वीकृत (publickey)" है।
नस्सकमी _

1
बस इस समस्या को मारा क्योंकि मेरे लैपटॉप में TON ऑफ़ कीज़ थी, और ssh ने उन सभी को आज़माया, और मुझे पासवर्ड दर्ज करने का मौका मिलने से पहले ही अस्वीकार कर दिया गया था। पूछने के लिए धन्यवाद।
दलाईलायेन

3
@NickW यदि आप उत्तर के रूप में अपनी टिप्पणी देते हैं, तो मैं इसे अपवर्जित करूंगा।
भूलभुलैया

जवाबों:


9

यह सर्वर साइड पर कॉन्फ़िगरेशन समस्या की तरह लगता है।

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

यदि आपको त्रुटि संदेश मिल रहा है "Permission denied (publickey)" तो ऐसा लगता है जैसे पासवर्ड प्रमाणीकरण आपके सर्वर पर समर्थित नहीं है।

/ Etc / sshd_config फ़ाइल देखे बिना, यह जानना मुश्किल है, लेकिन मेरा अनुमान यह होगा कि आपको यह सुनिश्चित करने की आवश्यकता है कि निम्न पंक्ति मौजूद है:

PasswordAuthentication yes

Ssh सर्वर को पुनरारंभ करें, और जब आप क्लाइंट से कनेक्ट करते हैं तो आपको पासवर्ड के लिए संकेत दिया जाना चाहिए यदि कोई निजी कुंजी मौजूद नहीं है, या यदि निजी कुंजी सर्वर पर सार्वजनिक कुंजी से मेल नहीं खाती है।

इस कोर्स का एक अधिक सुरक्षित विकल्प आपकी निजी कुंजी को उस लैपटॉप की प्रतिलिपि बनाना होगा जिसका आप उपयोग कर रहे हैं, या वास्तव में उस लैपटॉप पर उपयोग की जाने वाली एक नई निजी कुंजी उत्पन्न करते हैं और सार्वजनिक कुंजी को इसमें जोड़ते हैं .ssh/authorized_keys


6

बस एक आईडी फ़ाइल बनाएं जो रिक्त हो।

touch $HOME/.ssh/blank

यदि आप अनुमति 640 या 644 छोड़ते हैं, तो ssh शिकायत करेगा कि अनुमतियाँ पर्याप्त सुरक्षित नहीं हैं और इसका उपयोग नहीं करते हैं। यदि आप इसे 600 पर chmod करते हैं, तो यह 3 बार पासवर्ड के लिए संकेत देगा और विफल रहेगा क्योंकि कोई पासवर्ड नहीं है। तो बस इसे 640 या 644 पर छोड़ दें।

तब जब आप ssh इस कमांड का उपयोग करते हैं।

ssh -i $HOME/.ssh/blank servername-or-ip

आप .ssh / config का उपयोग कर सकते हैं और कुंजी का उपयोग नहीं करने के लिए एक मेजबान प्रविष्टि सेट कर सकते हैं लेकिन यह कम अस्थायी है या आप सर्वर और सर्वर-नोकी के लिए उपनाम बना सकते हैं लेकिन यह लंबे समय तक रहता है और बनाए रखने के लिए एक दर्द है।


5
-i /dev/nullभी काम करता है, और जाँच की अनुमति की आवश्यकता नहीं है।
svvac

रिक्त / अशक्त फ़ाइलें काम नहीं करती हैं, sshकहती हैं Load key "/dev/null": invalid format, तो यह आपके द्वारा वैसे भी कॉन्फ़िगर की गई अन्य कुंजियों का उपयोग करने के लिए आगे बढ़ती है, और फिर बहुत अधिक प्रमाणीकरण विफलताओं के कारण लॉग इन करने में विफल रहती है।
मालवीनस

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