Tôi đã đọc được những người khác yêu cầu SSH được "sửa lỗi" để các tài khoản bị khóa không thể đăng nhập thông qua SSH. (xem lỗi Debian 219377) Yêu cầu này đã bị từ chối dưới dạng bản vá "vì nó phá vỡ một số kỳ vọng từ người dùng [những người] đã sử dụng để passwd -l chỉ khóa mật khẩu." (xem lỗi Debian 389183), vd: một số người MUỐN có thể khóa tài khoản khỏi thông tin đăng nhập mật khẩu, nhưng vẫn cho phép truy cập khóa SSH.
PAM sẽ không từ chối xác thực khóa SSH đối với các tài khoản vừa bị khóa (ví dụ do các lần thử mật khẩu không hợp lệ, vì xác thực khóa SSH được thiết kế để không chú ý đến trường mật khẩu, nơi mà tài khoản thường bị khóa.)
Tôi hiểu rằng mục nhập băm mật khẩu được kiểm tra ngầm tại thời gian pam_authenicate (), không phải lúc pam_acct_mgmt (). pam_unix.so pam_sm_acct_mgmt () hoàn toàn không kiểm tra hàm băm mật khẩu và pam_authenticate () không được gọi trong khi xác thực khóa chung.
Nếu ý định của bạn là có thể vô hiệu hóa tập trung các tài khoản khỏi đăng nhập, có những cách giải quyết khác có thể, bao gồm:
Thay đổi vỏ đăng nhập.
(lại) di chuyển tệp ủy quyền của họ.
Một tùy chọn khác để từ chối quyền truy cập có thể là một số sử dụng Từ chối nhóm hoặc Cho phép nhóm trong sshd_config. (sau đó thêm người dùng vào nhóm "sshdeny" hoặc xóa họ khỏi nhóm "sshlogin" để vô hiệu hóa họ khỏi đăng nhập.) (đọc tại đây: https ://help.ub Ubuntu.com/8.04/serverguide/user-man Quản lý .html )
Từ http://web.archiveorange.com/archive/v/67CtqEoe5MhDqkDmUMuL
Tôi đọc: "Vấn đề là pam_unix chỉ kiểm tra ngày hết hạn của mục nhập bóng, không phải nội dung trường băm mật khẩu." Nếu điều này là đúng, sẽ hết hạn tài khoản thay vì khóa nó làm những gì bạn cần?
Câu trả lời cho câu hỏi của bạn có thể là "có, nếu bạn vô hiệu hóa chúng ở nơi nào khác ngoài trường mật khẩu"
account optional pam_echo.so file=/etc/redhat-release
vào /etc/pam.d/sshd khiến nội dung tệp được in trong khi sử dụng thông tin đăng nhập xác thực dựa trên khóa (thử nó).