Zarówno PreferredAuthentications=password
i PreferredAuthentications=keyboard-interactive
poprosiłby o hasło, więc jaka jest między nimi różnica?
I Google przy słowach kluczowych ssh PreferredAuthentications hasło klawiatura interaktywna różnica, ale nie znalazłem odpowiedzi.
Jedyną różnicą, którą zauważyłem, jest ciąg znaków zachęty (w user@host's password:
porównaniu 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).
AKTUALIZACJA (2018-04-09):
Dla łatwego odniesienia, poniższe informacje pochodzą z książki SSH: TDG, jak wspomniano w odpowiedzi jouella .
"keyboard-interactive"
Uwierzytelnianie użytkownika ma na celu przede wszystkimPAM
uwierzytelnianie po stronie serwera. Zapewnia wielokrotne okno dialogowe wyzwanie-odpowiedź z użytkownikiem, w którym serwer wysyła zapytanie tekstowe do użytkownika, użytkownik wpisuje odpowiedź, a proces ten może się powtarzać dowolną liczbę razy. Na przykład możesz skonfigurowaćPAM
SSH z modułem, który wykonuje uwierzytelnianie przy użyciu tokena zabezpieczającego RSA lub schematu hasła jednorazowego . Ludzie są tym zdezorientowani, ponieważ domyślnie"keyboard-interactive"
uwierzytelnianie zwykle implementuje uwierzytelnianie za pomocą hasła w jednym cyklu wyzwanie-odpowiedź, które tylko monituje o hasło, a zatem wygląda dokładnie tak samo jak"password"
poświadczenie. Jeśli celowo nie używasz obu do różnych celów, możesz wyłączyć jedno lub drugie, aby uniknąć pomyłek użytkowników końcowych.