ssh -o PreferredAuthentication: "पासवर्ड" और "कीबोर्ड-इंटरैक्टिव" में क्या अंतर है?


36

दोनों PreferredAuthentications=passwordऔर PreferredAuthentications=keyboard-interactiveपासवर्ड के लिए संकेत हैं, तो क्या उन दोनों के बीच क्या अंतर है?

मैं कीवर्ड ssh के साथ Google चाहता हूँ PreferredAuthentication पासवर्ड कीबोर्ड-इंटरैक्टिव अंतर लेकिन कोई जवाब नहीं मिला।

एकमात्र अंतर जो मैंने देखा, वह है तात्कालिक तार ( user@host's password:बनाम Password:):

$ ssh -o PreferredAuthentications=password,keyboard-interactive my-host
root@my-host's password:
Password:
Permission denied (gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive).

अद्यतन (2018-04-09):

आसान संदर्भ के लिए, निम्नलिखित SSH: TDG पुस्तक से है जैसा कि ज्यूल के उत्तर में वर्णित है ।

"keyboard-interactive"उपयोगकर्ता प्रमाणीकरण मुख्य रूप से PAMसर्वर साइड पर प्रमाणीकरण को समायोजित करने के लिए अभिप्रेत है । यह उपयोगकर्ता के साथ कई चुनौती-प्रतिक्रिया संवाद प्रदान करता है जिसमें सर्वर उपयोगकर्ता को एक पाठ क्वेरी भेजता है, उपयोगकर्ता एक प्रतिक्रिया में टाइप करता है और यह प्रक्रिया किसी भी संख्या को दोहरा सकती है। उदाहरण के लिए, आप PAMSSH के लिए एक मॉड्यूल के साथ कॉन्फ़िगर कर सकते हैं जो RSA सुरक्षा टोकन या एक बार पासवर्ड योजना का उपयोग करके प्रमाणीकरण करता है । लोग इसके कारण भ्रमित हो जाते हैं, क्योंकि डिफ़ॉल्ट रूप से, "keyboard-interactive"प्रमाणीकरण आमतौर पर एक ही चुनौती-प्रतिक्रिया चक्र में पासवर्ड प्रमाणीकरण को लागू करता है, जो केवल एक पासवर्ड के लिए संकेत देता है, इस प्रकार बिल्कुल वैसा ही दिखता है"password"प्रमाणीकरण। यदि आप अलग-अलग उद्देश्यों के लिए जानबूझकर दोनों का उपयोग नहीं कर रहे हैं, तो आप एंड-यूज़र भ्रम से बचने के लिए एक या दूसरे को अक्षम करना चाह सकते हैं।


1
देखें आरएफसी 4252 के लिए पासवर्ड प्रमाणन और आरएफसी 4256 के लिए कुंजीपटल-सहभागी
pynexj

जवाबों:


37

SSH प्रोटोकॉल में कई प्रमाणीकरण विधियां हैं। पासवर्ड और कुंजीपटल-सहभागी उनमें से दो हैं।

पासवर्ड प्रमाणीकरण एक ही पासवर्ड के लिए एक सरल अनुरोध है। सर्वर द्वारा भेजा गया कोई विशिष्ट संकेत नहीं है। तो यह ग्राहक कि चुनता शीघ्र लेबल करने का तरीका बताया गया ( "user @ host का पासवर्ड" शीघ्र OpenSSH से है ग्राहकों , जैसे ssh, sftp, आदि)।

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

हालांकि अधिकांश मामलों में कीबोर्ड-इंटरेक्टिव प्रमाणीकरण का उपयोग एकल "गुप्त" पासवर्ड प्रॉम्प्ट का अनुरोध करने के लिए किया जाता है, इसलिए पासवर्ड प्रमाणीकरण में कोई अंतर नहीं है ।

प्रोटोकॉल के नजरिए से यही अंतर है।


कार्यान्वयन के दृष्टिकोण से, ओपनएसएसएच सर्वर के साथ, कीबोर्ड-इंटरैक्टिव प्रमाणीकरण को दो-कारक (या बहु-कारक) प्रमाणीकरण के लिए झुका दिया जा सकता है, उदाहरण के लिए जेनेमिक पीएएम तंत्र या केर्बरोस द्वारा प्रदान किया गया है ।

ग्राहक के दृष्टिकोण से, एक और अंतर स्थानीयकरण है। पासवर्ड प्रमाणीकरण के साथ , क्लाइंट "पासवर्ड" लेबल को स्थानीय कर सकता है , क्योंकि यह जानता है कि सर्वर पासवर्ड मांग रहा है। साथ कुंजीपटल-सहभागी प्रमाणीकरण , तब भी जब सर्वर एक ही पासवर्ड के लिए सिर्फ पूछ रहा है, ग्राहक शीघ्र स्थानीयकरण कर सकते हैं नहीं (जब तक यह ऐ कार्यरत हैं), क्योंकि यह एक सामान्य शीघ्र है।


2

आप पहले से ही जानते हैं कि 'पासवर्ड' क्या है। बहुत उच्च स्तर (ईंट स्तर के प्रोटोकॉल सामान नहीं) से, 'कीबोर्ड-इंटरैक्टिव' के बारे में सोचें, जिसे आप रेडियस और / या सेक्यूरिड आदि का उपयोग करके 2FA का उपयोग करते हैं। यह चुनौती और प्रतिक्रिया संवादों के लिए प्रदान करता है: ssh.com एक अच्छा है उस पर संक्षिप्त विवरण। यह कीबोर्ड-इंटरेक्टिव को उजागर करने के लिए एक कदम आगे बढ़ता है, वह छाता है जिसके नीचे पासवर्ड होता है। लेखकों का सम्मान करते हुए, यह थोड़ा भ्रमित करने वाला है।

स्नेल बुक परिभाषा भी देखें । हम अपने आरएसए संरक्षित बक्से के लिए इसका अक्सर उपयोग करते हैं।

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