ロックされたアカウントがSSH経由でログインできないように、SSHを「修正」することを求める他の人が読んだことがあります。(Debianバグ219377を参照)このリクエストは、「passwd -lはpasswdのロックのみに使用されていた[ユーザー]からの期待に反するため」というパッチとして拒否されました。(Debianバグ389183を参照)たとえば、一部の人々は、パスワードログインからアカウントをロックできることを望んでも、SSHキーアクセスを許可します。
PAMは、ロックされたばかりのアカウントへのSSHキー認証を拒否しません(たとえば、SSHキー認証は、アカウントが通常ロックされるパスワードフィールドに注意を払わないように設計されているため、無効なパスワード試行のため)。
パスワードハッシュエントリは、pam_acct_mgmt()ではなくpam_authenicate()で暗黙的にチェックされることを理解しています。pam_unix.so pam_sm_acct_mgmt()はパスワードハッシュをまったくチェックせず、公開鍵認証中にpam_authenticate()は呼び出されません。
アカウントのログインを一元的に無効にできるようにする場合は、他にも次のような回避策があります。
ログインシェルを変更します。
それらのauthorized_keysファイルを(再)削除します。
アクセスを拒否する別のオプションは、sshd_configでDenyGroupsまたはAllowGroupsを使用することです。(次に、ユーザーを「sshdeny」グループに追加するか、「sshlogin」グループから削除して、ログインを無効にします。)(こちらをご覧ください:https ://help.ubuntu.com/8.04/serverguide/user-management .html)
http://web.archiveorange.com/archive/v/67CtqEoe5MhDqkDmUMuLから
:「問題は、pam_unixがシャドウエントリの有効期限のみをチェックし、パスワードハッシュフィールドの内容はチェックしないことです。」これに該当する場合、アカウントをロックするのではなく期限切れにすると、必要なことを実行できますか?
あなたの質問への答えはおそらく「はい、あなたがパスワードフィールド以外のどこかでそれらを無効にするなら」です
account optional pam_echo.so file=/etc/redhat-release
/etc/pam.d/sshdに追加すると、キーベースの認証ログインの使用中にファイルの内容が印刷されます(試してください)。