Я только что имел эту проблему и нашел ответ здесь:
http://www.gossamer-threads.com/lists/openssh/dev/47179
В основном, openssh использовал интерактивную клавиатуру для реализации challenge-repsonse. Таким образом, если любой из этих параметров установлен на «да», то в интерактивном режиме клавиатуры в коде устанавливается «да». Вы должны установить оба «нет», чтобы получить желаемое поведение.
Я должен был сделать:
ssh -o PasswordAuthentication=no -o KbdInteractiveAuthentication=no -o ChallengeResponseAuthentication=no
Конечно, BatchMode=yes
настройка позаботится обо всем этом для вас и в будущем защитит вас от любых новых интерактивных методов аутентификации пользователя в будущем.