Zarówno PreferredAuthentications=passwordi PreferredAuthentications=keyboard-interactivepoprosił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 wszystkimPAMuwierzytelnianie 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ćPAMSSH 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.