У меня есть скрипт, который опирается на SSH-аутентификацию с открытым / закрытым ключом. Проблема заключается в том, что некоторые системы неправильно настроены и не имеют надлежащего настроенного доверительного / открытого ключа ssh. Когда это произойдет, ssh
спросите меня о пароле, блокирующем выполнение скрипта. Я попробовал эту команду:
sudo ssh -o "PasswordAuthentication=no" -o "ChallengeResponseAuthentication=no" root@last-call
Но мне все еще предлагают ввести пароль root.
"PreferredAuthentications=publickey"
Ответы:
Канонический способ сделать это с помощью
BatchMode
опции:Согласно инструкции :
Я бы ожидал, что сочетание
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).