سؤال كيف أقوم بفشل ssh بدلاً من المطالبة بكلمة مرور إذا فشلت مصادقة المفتاح العام؟


لقد حصلت على برنامج نصي يحتوي على العديد من الخوادم باستخدام مصادقة المفتاح العام. توقف أحد الخوادم عن السماح بتسجيل دخول البرنامج النصي بسبب مشكلة في التكوين ، مما يعني أن البرنامج النصي عالق بمطالبة "كلمة المرور:" ، والتي من الواضح أنه لا يمكن الإجابة عليها ، لذلك لا تحاول حتى خوادم بقية في القائمة.

هل هناك طريقة لإخبار عميل ssh بعدم المطالبة بكلمة مرور إذا فشلت مصادقة المفتاح ، ولكن بدلاً من ذلك للإبلاغ فقط عن خطأ في الاتصال والسماح بتشغيل البرنامج النصي الخاص بي؟


91
2017-09-03 10:58


الأصل




الأجوبة:


بالنسبة لـ OpenSSH ، هناك أيضًا BatchMode والذي يجب أن يؤدي إلى تعطيل الاستعلام عن عبارة المرور للمفاتيح بالإضافة إلى تعطيل كلمة المرور.

دفعة واسطة

في حالة التعيين على "نعم" ، سيتم تعطيل الاستعلام عن كلمة المرور / كلمة المرور.     هذا الخيار مفيد في البرامج النصية ووظائف الدفعات الأخرى حيث لا     المستخدم موجود لتوفير كلمة المرور. يجب أن تكون الحجة     "نعم ام لا". الافتراضي هو "لا".

استخدام العينة:

ssh -oBatchMode=yes -l <user> <host> <dostuff>

120
2017-09-03 12:09





أضف التالي إلى حسابك ~/.ssh/config:

PasswordAuthentication no

ولتعطيل مصادقة كلمة المرور على الخادم ، أضف نفس السطر إلى /etc/ssh/sshd_config وأعد sshd.


12
2017-09-03 11:19



إذا كنت لا ترغب في تعطيل مصادقة كلمة المرور لجميع اتصالات ssh client ، فيمكنك أيضًا تحديد الخيارات في سطر الأوامر. أضف "-oPasswordAuthentication = no" إلى أمر ssh الخاص بك. - cas
هذا لا يمنع مطالبة كلمة المرور. سوف لا يزال البرنامج النصي OP تعليق. - Joshua Swink


إذا كنت تستخدم dropbear ، فقم فقط بإضافة "-s"خيار لتعطيل مصادقة كلمة المرور.


9
2017-09-03 11:54



+1 لعدم افتراض العميل هو openssh :-) - cas


على سطر الأوامر (أو ~/.ssh/config) يمكنك ضبط PreferredAuthentications.

PreferredAuthentications=publickey

6
2017-09-03 11:39



أعتقد أنه ، في سطر الأوامر ، تحتاج إلى التفاف الخيار بين علامات اقتباس ثم تمريره إلى الخيار -o. - Craig Walker
CraigWalker يمكنك أيضًا تمريرها كما هي ، أي ssh -o PreferredAuthentications=publickey - Tobias Kienzler
CraigWalker أنت بحاجة إلى عروض أسعار إذا كنت ترغب في استخدام مسافات لفصل الخيار والقيمة مثل. ssh "-oPreferredAuthentications publickey" - Timo