SSH: полное отключение аутентификации по паролю

13

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

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

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

Пельтье
источник

Ответы:

19

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

ssh -o BatchMode=yes host

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

Пельтье
источник
4

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

Host host
BatchMode yes

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

Дэн Андреатта
источник
3

Я только что имел эту проблему и нашел ответ здесь:

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

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

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

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

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

onlynone
источник