И PreferredAuthentications=password
и PreferredAuthentications=keyboard-interactive
будут запрашивать пароль, так в чем же разница между ними?
Я Google с ключевыми словами ssh PreferredAuthentications пароль клавиатура-интерактивная разница, но не нашел ответов.
Единственное различие , которое я заметил, строка подсказки user@host's password:
против Password:
$ ssh -o PreferredAuthentications=password,keyboard-interactive my-host
root@my-host's password:
Password:
Permission denied (gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive).
ОБНОВЛЕНИЕ (2018-04-09):
Для удобства ознакомьтесь с информацией из книги SSH: TDG, упомянутой в ответе Джоуэлла.
"keyboard-interactive"
аутентификация пользователя предназначена в первую очередь для обеспечения аутентификацииPAM
на стороне сервера. Он предусматривает диалог с несколькими запросами -ответами с пользователем, в котором сервер отправляет пользователю текстовый запрос, пользователь вводит ответ, и этот процесс может повторяться любое количество раз. Например, вы можете настроитьPAM
для SSH с помощью модуля, который выполняет аутентификацию с использованием токена безопасности RSA или схемы одноразового пароля . Люди смущаются этим, потому что по умолчанию"keyboard-interactive"
аутентификация с клавиатуры обычно реализует аутентификацию по паролю в одном цикле запрос-ответ, который просто запрашивает пароль, таким образом, выглядя точно так же, как аутентификация по"password"
. Если вы намеренно не используете оба для разных целей, вы можете отключить одно или другое, чтобы избежать путаницы у конечного пользователя.