또 다른 옵션은 @Jagadish의 답변 : strace
ssh 데몬에 대한 변형입니다 .
그것은 우리가 sshd를 멈출 필요가 없다는 중요한 이점을 가지고 있습니다. 무언가가 잘못되면 완전한 잠금이 발생할 수 있습니다.
먼저 주요 sshd 프로세스의 pid를 찾습니다. 여기에서를 실행하여 볼 수 있습니다 pstree -pa|less
.
|-sshd,633 -D <-- THIS IS WHAT WE WANT!
| `-sshd,21973
| `-sshd,21996
| `-bash,22000
| `-screen,638 -r
pid가 633이라는 것을 알면 strace
자식을 따라 할 수 있습니다 .
strace -p 633 -s 4096 -f -o sux
결과적 으로이 sshd 및 해당 하위 프로세스가 수행 한 모든 작업이 sux
로컬 디렉토리에 이름이 지정된 파일로 추적됩니다 .
그런 다음 문제를 재현하십시오.
커널 호출 로그의 방대한 목록을 가질 것입니다.이 목록은 대부분 이해하기 어렵거나 관련이 없지만 어디에서나 아닙니다. 필자의 경우 중요한 것은 다음과 같습니다.
6834 sendto(4, "<38>Jan 15 18:49:21 sshd[6834]: User cica not allowed because account is locked\0", 84, MSG_NOSIGNAL, NULL, 0) = 84
그것은 sshd 가 계정이 잠겨 있기 때문에 User cica not allowed 메시지를 기록하려고 시도한 것 입니다. 로깅이 그다지 장황하지 않기 때문에 불가능했습니다. 그러나 우리는 이미 계정이 잠겨 있기 때문에 pubkey가 거부되었음을 알고 있습니다.
아직 해결책이 아닙니다. 이제 sshd의 경우 "잠금 계정"을 의미하는 Google이 필요합니다. 그것은 가장 가능성이 몇 가지 사소한 것 /etc/passwd
, /etc/shadow
마법,하지만 중요한 것은 이루어집니다 - 문제가 신비한 아니다, 그러나 googlable / 쉽게 디버깅 하나.