ssh -o PreferredAuthentications: Was ist der Unterschied zwischen "password" und "keyboard-interactive"?

36

Beide PreferredAuthentications=passwordund PreferredAuthentications=keyboard-interactivewürden nach dem Passwort fragen, also was ist der Unterschied zwischen ihnen?

Ich googelte mit den Schlüsselwörtern ssh PreferredAuthentications , fand aber keine Antwort.

Der einzige Unterschied, den ich bemerkt habe, sind die Eingabeaufforderungszeichenfolgen ( user@host's password:vs. 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).

UPDATE (2018-04-09):

Zum leichteren Nachschlagen stammt Folgendes aus dem SSH: TDG-Buch, wie in Jouells Antwort erwähnt .

"keyboard-interactive"Die Benutzerauthentifizierung soll in erster Linie die PAMAuthentifizierung auf der Serverseite ermöglichen. Es wird ein mehrfaches Challenge-Response-Dialogfeld mit dem Benutzer bereitgestellt, in dem der Server eine Textabfrage an den Benutzer sendet, der Benutzer eine Antwort eingibt und dieser Vorgang beliebig oft wiederholt werden kann. Sie können PAMSSH beispielsweise mit einem Modul konfigurieren, das die Authentifizierung mithilfe eines RSA-Sicherheitstokens oder eines Einmalkennwortschemas durchführt . Dies verwirrt "keyboard-interactive"die Benutzer, da die Authentifizierung standardmäßig nur die Kennwortauthentifizierung in einem einzigen Challenge-Response-Zyklus implementiert, bei dem nur ein Kennwort abgefragt wird und somit genau so aussieht wie"password"Authentifizierung. Wenn Sie nicht absichtlich beide für unterschiedliche Zwecke verwenden, möchten Sie möglicherweise die eine oder andere deaktivieren, um Verwechslungen durch den Endbenutzer zu vermeiden.

pynexj
quelle
1
Siehe RFC 4252 für die Kennwortauthentifizierung und RFC 4256 für die Tastaturinteraktion .
Pynexj

Antworten:

37

Das SSH-Protokoll verfügt über zahlreiche Authentifizierungsmethoden. Das Passwort und Keyboard-Interactive sind zwei davon.

Die Kennwortauthentifizierung ist eine einfache Anforderung eines einzelnen Kennworts. Es wird keine spezielle Aufforderung vom Server gesendet. So ist es der Kunde ist , dass wählt , wie die Aufforderung zu beschriften (die „user @ Kennwort des Host“ Prompt ist von den OpenSSH - Clients , wie ssh, sftpusw.).

Die tastaturinteraktive Authentifizierung ist eine komplexere Anforderung für eine beliebige Anzahl von Informationen. Für jede Information sendet der Server das Etikett der Eingabeaufforderung. Darüber hinaus kann der Server eine ausführliche Beschreibung des gesamten "Formulars" bereitstellen. Der Server kann auch angeben, welche Eingaben geheim sind (müssen beim Eingeben durch den Benutzer verschleiert werden) und welche nicht.

Obwohl in den meisten Fällen die tastaturinteraktive Authentifizierung verwendet wird, um eine einzelne "geheime" Passwortabfrage anzufordern, gibt es kaum einen Unterschied zur Passwortauthentifizierung .

Das ist der Unterschied aus Protokollsicht.


Aus Sicht der Implementierung kann mit OpenSSH Server die tastaturinteraktive Authentifizierung mit Zwei-Faktor- (oder Multi-Faktor-) Authentifizierungen verknüpft werden, die z. B. durch einen generischen PAM-Mechanismus oder Kerberos bereitgestellt werden .

Ein weiterer Unterschied aus Client-Sicht ist die Lokalisierung. Bei der Kennwortauthentifizierung kann der Client die Bezeichnung "Kennwort" lokalisieren , da er weiß, dass der Server nach einem Kennwort fragt. Bei der tastaturinteraktiven Authentifizierung kann der Client die Eingabeaufforderung selbst dann nicht lokalisieren, wenn der Server nur nach einem einzigen Kennwort fragt (es sei denn, es wird AI verwendet), da es sich um eine generische Eingabeaufforderung handelt.

Martin Prikryl
quelle
2

Sie wissen bereits, was "Passwort" ist. Von einem sehr hohen Niveau (nicht Brick Level - Protokoll Sachen), denken Sie an ‚Tastatur-interaktiven‘ als die Methode , dass Sie 2FA mit Radius zu verwenden und / oder SecurID etc. Es sieht Herausforderung und Antwort - Dialoge: ssh.com hat eine schönen kurze beschreibung drauf. Es geht noch einen Schritt weiter, um hervorzuheben, dass keyboard-interactive der Schirm ist, unter den das Passwort fällt. Mit Respekt vor den Autoren, es ist etwas verwirrend.

Siehe auch die Schneckenbuchdefinition . Wir verwenden dies häufig für unsere RSA-geschützten Boxen.

jouell
quelle