Ssh क्लाइंट की ओर से पासवर्ड प्रॉम्प्ट को कैसे निष्क्रिय करें?


9

मेरे पास एक स्क्रिप्ट है जो सार्वजनिक / निजी कुंजी ssh प्रमाणीकरण पर निर्भर है। समस्या यह है कि कुछ सिस्टम गलत हैं और उचित ssh सार्वजनिक / निजी कुंजी ट्रस्ट सेट नहीं है। जब ऐसा होता है sshतो मुझसे स्क्रिप्ट के निष्पादन को रोकने वाले पासवर्ड के लिए पूछें। मैंने इस आदेश की कोशिश की है:

sudo ssh -o "PasswordAuthentication=no" -o "ChallengeResponseAuthentication=no" root@last-call

लेकिन मुझे अभी भी रूट पासवर्ड के लिए संकेत मिलता है।


परीक्षण और त्रुटि के बाद मुझे वह विकल्प मिला जिसकी मुझे आवश्यकता थी। "PreferredAuthentications=publickey"
लाल क्रिकेट

क्या प्रस्तावित समाधान से बेहतर है? (बैचमोड)
knocte

जवाबों:


9

ऐसा करने के लिए विहित तरीका BatchModeविकल्प के साथ है :

ssh -o BatchMode=yes …

मैनुअल के अनुसार :

यदि "हाँ" पर सेट किया जाता है, तो पासफ़्रेज़ / पासवर्ड क्वेरी निष्क्रिय हो जाएगी। यह विकल्प स्क्रिप्ट और अन्य बैच नौकरियों में उपयोगी है जहां कोई उपयोगकर्ता पासवर्ड की आपूर्ति करने के लिए मौजूद नहीं है।

मैं हालांकि के संयोजन PasswordAuthentication=noऔर ChallengeResponseAuthentication=noपर्याप्त होने की उम्मीद कर रहा होता । ssh -vvएक सुराग मिल सकता है।


वह भी काम करता है! $ sudo ssh last-call-2 Password: $ sudo ssh -o "BatchMode=yes" last-call-2 Permission denied (gssapi-keyex,gssapi-with-mic,publickey,password,keyboard-interactive).
लाल क्रिकेट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.