मैं OpenSSH के साथ पासवर्ड और सार्वजनिक कुंजी प्रमाणीकरण दोनों को कैसे सक्षम कर सकता हूं


10

मैं sshd के लिए उपयोगकर्ताओं की सार्वजनिक कुंजी को सत्यापित करने और फिर उनके पासवर्ड के लिए संकेत करना चाहूंगा, बजाय केवल एक या दूसरे के। क्या यह संभव है?

जवाबों:



12

यह कॉन्फ़िगरेशन विकल्प का उपयोग करके अंततः ओपनएसएसएच 6.2 (मार्च 2013 को जारी) के रूप में उपलब्ध है AuthenticationMethods

उदाहरण के लिए, आप sshd_configसार्वजनिक-कुंजी और पासवर्ड प्रमाणीकरण दोनों की आवश्यकता के लिए निम्न पंक्ति जोड़ सकते हैं :

AuthenticationMethods publickey,password

लॉग इन करते समय sshऔर scpपहले सार्वजनिक कुंजी प्रमाणीकरण करेंगे, और फिर पासवर्ड के लिए संकेत देंगे:

$ ssh user@example.org
Authenticated with partial success.
user@example.org's password:

यदि आपके पास आपकी निजी कुंजी फ़ाइल का पासवर्ड है, तो आप निश्चित रूप से उसके लिए प्रेरित होंगे। PuTTY का उपयोग करके उदाहरण :

Using username "user".
Authenticating with public key "rsa-key-20131221-user"
Passphrase for key "rsa-key-20131221-user":
Further authentication required
user@example.org's password:

1

आरएचईएल / सेंटोस 6.3 में ओपनएसएसएच अब इस सुविधा का समर्थन करता है, हालांकि मुझे ओपनएसएसएच रिलीज नोटों में इसका उल्लेख नहीं मिला। से RHEL रिलीज नोट्स :

एसएसएच को अब प्रमाणीकरण के कई तरीकों की आवश्यकता के लिए स्थापित किया जा सकता है (जबकि पहले एसएसएच ने प्रमाणीकरण के कई तरीकों की अनुमति दी थी, जिसमें से एक सफल लॉगिन के लिए केवल एक आवश्यक था); उदाहरण के लिए, SSH- सक्षम मशीन में लॉग इन करने के लिए एक पासफ़्रेज़ और एक सार्वजनिक कुंजी दोनों की आवश्यकता होती है। RequiredAuthentications1और RequiredAuthentications2विकल्पों में विन्यस्त किया जा सकता /etc/ssh/sshd_config। कि में एक सफल लॉग के लिए आवश्यक हैं उदाहरण के लिए प्रमाणीकरणों निर्दिष्ट करने के लिए फ़ाइल:

  ~]# echo "RequiredAuthentications2 publickey,password" >> /etc/ssh/sshd_config

उपरोक्त /etc/ssh/sshd_configविकल्पों पर अधिक जानकारी के लिए, sshd_configमैन पेज देखें ।


0

यह संभव है लेकिन एक तरह से गुदगुदी और सीमित तरीके से। पहले आप केवल सार्वजनिक कुंजी प्रमाणीकरण की अनुमति देते हैं। फिर /etc/ssh/sshd_configएक जोड़ने में ForceCommandएक स्क्रिप्ट निष्पादित करता है जो पासवर्ड की जांच करेगा।

स्क्रिप्ट SFTP को तब तक तोड़ेगी जब तक कि आप जांच न लें कि कमांड sftp है और बिना पासवर्ड के माध्यम से अनुमति दे सकता है।

मैंने कभी यह कोशिश नहीं की है ताकि कोई व्यक्ति अधिक मुद्दों को देख सके।

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