13

Есть ли способ полностью отключить аутентификацию по паролю? Командная строка выглядит следующим образом:

ssh -o KbdInteractiveAuthentication=no -o PasswordAuthentication=no machine" 

Это все еще просит пароль. Конечно, я хотел бы сделать это, не касаясь сервера, если это возможно.

3 ответа3

19

Хорошо, я нашел это! Это

ssh -o BatchMode=yes host

Не очень интуитивно, особенно с тем фактом, что варианты, которые я пробовал ранее, не работают.

4

Вы можете добавить эту опцию в .ssh/config и сохранить некоторые данные:

Host host
BatchMode yes

должен сделать работу.

3

У меня просто была эта проблема, и я нашел ответ здесь:

http://www.gossamer-threads.com/lists/openssh/dev/47179

В основном, openssh использовал интерактивную клавиатуру для реализации вызова-ответа. Таким образом, если любой из этих параметров установлен на "да", то в интерактивном режиме клавиатуры в коде устанавливается "да". Вы должны установить оба "нет", чтобы получить поведение, которое вы хотите.

Я должен был сделать:

ssh -o PasswordAuthentication=no -o KbdInteractiveAuthentication=no -o ChallengeResponseAuthentication=no

Конечно, параметр BatchMode=yes позаботится обо всем этом для вас и в будущем защитит вас от любых новых методов интерактивной аутентификации пользователя в будущем.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .