SSH 사용자 로그인 기록 확인 방법
리눅스에서는 SSH 서버에 로그인한 기록을 대략적으로 파악할 수 있습니다. 주로 리눅스 로그 디렉토리인 /var/log
에서 auth.log
파일에 기록됩니다. 파일명은 일부 리눅스 배포판에 따라 다를 수 있습니다.
RedHat 계열 (RHEL, CentOS, Fedora)
/var/log/messages
Debian 계열 (Ubuntu)
/var/log/auth.log
한 명의 사용자(user1)가 myServer라는 호스트에 1회 로그인 했을 때 다음과 같이 2-3줄의 텍스트가 기록됩니다.
- 첫번째 줄: user1로 접속하려는 192.168.1.1 사용자가 암호 입력에 성공함
- 2-3번째 줄: SSHD 서비스에 의해 (세션 ID 189로) user1에 대한 세션이 열림
Jun 17 11:08:18 myServer sshd[18195]: Accepted password for user1 from 192.168.1.123 port 57512 ssh2 Jun 17 11:08:18 myServer sshd[18195]: pam_unix(sshd:session): session opened for user user1 by (uid=0) Jun 17 11:08:18 myServer systemd-logind[784]: New session 189 of user user1.
반대로 로그아웃하거나 세션을 종료하게 될 때도 해당 파일에 기록됩니다. 기록되는 내용은 약 3-4줄입니다.
- 1-2번째 줄: user1의 연결이 Disconnected 상태로 변경됨
- 3-4번째 줄: user1 사용자의 세션이 닫히고 로그아웃 처리됨
Jun 17 11:14:41 myServer sshd[18634]: error: Received disconnect from 192.168.1.123 port 57552:0: Jun 17 11:14:41 myServer sshd[18634]: Disconnected from user user1 192.168.1.123 port 57552 Jun 17 11:14:41 myServer sshd[18565]: pam_unix(sshd:session): session closed for user user1 Jun 17 11:14:41 myServer systemd-logind[784]: Session 193 logged out. Waiting for processes to exit.
로그인 사용자를 추적하기 위해 한 줄로만 나타내고 싶은 경우 다음과 같이 tail
명령어와 같이 사용할 수도 있습니다.
# tail -f /var/log/auth.log | grep "Accepted password"