[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Verständnisfrage zur Zwei-Faktor-Authentifizierung mit SSH in Verbindung mit PAM



Hallo zusammen,

ich habe einen RootServer, auf dem diverse Dienste laufen.

Normalerweise habe ich SSHd so konfiguriert, dass der Zugriff
ausschließlich über PrivateKey/PublicKey möglich ist.

Nun habe ich zu Testzwecken die Konfiguration geändert: Für den Zugriff
ist eine Zwei-Faktor-Authentifizierung via "Google Authenticator"
erfordlich: im ersten Schritt muss der User einen "verification code"
angeben, im zweiten Schritt sein Kennwort.

Dazu habe ich in der Datei "/etc/pam.d/sshd" ganz am Anfang die folgende
Zeile eingetragen:

     auth    required     pam_google_authenticator.so                                     secret=/etc/ssh/users/${USER}/google_authenticator


Und in der "/etc/ssh/sshd_config" steht u.a.:

     UsePAM  yes


Das funktioniert auch problemlos: Wenn ich von einem Client aus auf den
Server zugreifen möchte (ssh -p 1111 benutzername@fqdn), dann wird der
Benutzer zuerst nach einem "Verification code" gefragt, anschl. muss er
sein normales Kennwort eingeben. So weit, so gut.

Ich hätte jetzt vermutet, dass aufgrund der oben genannten Konfiguration
der "Verification code" für ALLE user abgefragt wird.
Oder anders: Der Zugriff via ssh ist nur möglich, wenn
/etc/ssh/users/$USER/google_authenticator existiert.

Das stimmt aber nicht: Der Benutzer "root" kann sich ganz normal mit
seinem PrivateKey anmelden, ohne Google-Authentifizierung.
Ich verstehe nicht, warum dies möglich ist... In der
SSH-Konfigurationsdatei ist doch definiert, dass PAM verwendet werden
soll, und in der PAM-Konfiguration zu ssh ist gleich am Anfang
definiert, dass google_authenticator notwendig ist ("required").

Kann mir bitte jemand die Augen öffnen und mir den Zusammenhang
erklären?

Vielen Dank im Voraus!


Liebe Grüße

Thilo


Reply to: