공개 키만 사용하기 위해 서버를 잠그고 있습니다. 모든 사용자가 전환되었는지 확인하고 스위치를 켜기 전에 비밀번호로 로그인한 사람이 없는지 확인하고 싶습니다.
답변1
우분투에서:
$ sudo cat /var/log/auth.log|grep ssh|grep Accept
CentOS/RHEL의 경우:
$ sudo cat /var/log/secure|grep ssh|grep Accept
그러면 모든 연결과 해당 연결이 인증된 방법이 표시됩니다(로그 파일이 마지막으로 교체된 이후).
만약 너라면오직비밀번호 연결을 보려면 다른 grep을 통해 파이프하면 됩니다.
... grep ssh|grep Accept|grep password
보너스 포인트의 경우, 여전히 비밀번호를 사용하는 사용자의 간략한 목록입니다(위 명령 출력의 9열에 사용자 이름이 표시된다고 가정).
... grep password|awk '{print $9}'|sort|uniq
답변2
환경변수 방식
그럴 가능성이 있습니다... PermitUserEnvironment
설정에서 true로 설정한 것이 만족스러우면 sshd_config
키에 대한 환경 변수와 일부 검사를 조합하여 /etc/profile
비밀번호 방법이 아직 누구에게도 사용되고 있음을 경고/거부할 수 있습니다. .
파일 에는 $HOME/.ssh/authorized_keys
다음과 같은 내용이 있습니다.
environment="KEYUSED=yes" ssh-dsa AAA...
이 키를 사용하면 /etc/profile
런타임 변수 KEYUSED가 "yes"로 설정됩니다.
로그 입력 방법
또는 키를 사용하는 항목이 있는지 /var/log/secure를 확인하세요.
Jul 29 13:58:20 localhost sshd[827]: Accepted publickey for steve from 192.168.124.1 port 50829 ssh2: RSA d3:35:bc:ed:c7:6f:11:27:44:f8:13:66:af:1e:8e:7e
비밀번호를 사용하는 항목
Jul 29 14:02:08 localhost sshd[1320]: Accepted password for foo from 127.0.0.1 port 57460 ssh2