Ich habe an anderer Stelle andere Leute gelesen, die darum gebeten haben, dass SSH "repariert" wird, damit gesperrte Konten nicht über SSH angemeldet werden können. (siehe Debian-Fehler 219377) Diese Anfrage wurde als Patch abgelehnt, "weil sie einige Erwartungen von Benutzern verletzt, die es gewohnt waren, passwd -l nur das passwd zu sperren." (siehe Debian-Fehler 389183) zB WOLLTEN einige Personen Konten von Kennwortanmeldungen sperren können, aber dennoch den Zugriff auf SSH-Schlüssel zulassen.
PAM verweigert nicht die SSH-Schlüsselauthentifizierung für Konten, die gerade gesperrt wurden (z. B. aufgrund ungültiger Kennwortversuche, da die SSH-Schlüsselauthentifizierung so konzipiert ist, dass das Kennwortfeld, in dem Konten normalerweise gesperrt sind, nicht berücksichtigt wird.)
Ich verstehe, dass der Passwort-Hash-Eintrag implizit zur Zeit pam_authenicate () überprüft wird, nicht zur Zeit pam_acct_mgmt (). pam_unix.so pam_sm_acct_mgmt () überprüft den Kennwort-Hash überhaupt nicht und pam_authenticate () wird während der Authentifizierung mit öffentlichem Schlüssel nicht aufgerufen.
Wenn Sie in der Lage sein möchten, die Anmeldung von Konten zentral zu deaktivieren, gibt es andere mögliche Problemumgehungen, darunter:
Ändern der Login-Shell.
(erneutes) Verschieben der Datei "authorized_keys".
Eine andere Option zum Verweigern des Zugriffs könnte die Verwendung von DenyGroups oder AllowGroups in der sshd_config sein. (Fügen Sie den Benutzer dann einer "sshdeny" -Gruppe hinzu oder entfernen Sie ihn aus einer "sshlogin" -Gruppe, um die Anmeldung zu deaktivieren.) (Lesen Sie hier: https://help.ubuntu.com/8.04/serverguide/user-management .html )
Unter http://web.archiveorange.com/archive/v/67CtqEoe5MhDqkDmUMuL
las ich: "Das Problem ist, dass pam_unix nur das Ablaufdatum des Schatteneintrags überprüft, nicht den Inhalt des Passwort-Hashfelds." Wenn dies zutrifft, würde das Ablaufen des Kontos, anstatt es zu sperren, das tun, was Sie benötigen?
Die Antwort auf Ihre Frage lautet möglicherweise "Ja, wenn Sie sie an einer anderen Stelle als im Kennwortfeld deaktivieren".
account optional pam_echo.so file=/etc/redhat-release
zu /etc/pam.d/sshd wird der Dateiinhalt gedruckt, während schlüsselbasierte Authentifizierungsanmeldungen verwendet werden (versuchen Sie es).