SSH를 통해 잠긴 계정에 로그인 할 수 없도록 SSH를 "수정"하도록 요청하는 다른 사람들을 읽었습니다. (데비안 버그 219377 참조)이 요청은 "passwd -l 만 암호를 잠그는 데 사용 된 사용자의 일부 기대치를 깨뜨리기"때문에 패치로 거부되었습니다. (데비안 버그 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에 추가 하면 키 기반 인증 로그인을 사용하는 동안 파일 내용이 인쇄됩니다 (시도하십시오).