Linux 서버 SSH 접속 기록 확인방법: 누가 접속했는지 완벽하게 조회하기
리눅스 서버(Linux Server)를 운영하다 보면 보안 관리와 시스템 점검을 위해 서버에 누가, 언제, 어떤 IP로 접속했는지 확인해야 하는 순간이 반드시 찾아옵니다. 특히 인프라 관리자나 웹 개발자라면 인가되지 않은 사용자의 접근이나 의심스러운 로그인 시도를 주기적으로 모니터링하는 것이 매우 중요합니다.
이번 글에서는 리눅스 서버에서 SSH 접속 기록을 확인하는 가장 효과적인 Command 라인 명령어들과 로그 파일 분석 방법에 대해 상세히 정리해 드리겠습니다.

1. 현재 접속 중인 사용자 확인하기 (who, w)
지금 이 순간 서버에 접속해서 활동 중인 계정이 누구인지 실시간으로 확인하고 싶다면 아래 명령어들을 활용할 수 있습니다.
who 명령어
현재 서버에 로그인되어 있는 모든 사용자의 목록과 접속 단말, 로그인 시간을 간결하게 보여줍니다.
who
- 출력 예시: 계정명, 접속 TTY/PTS 번호, 접속 시작 시간, 접속한 원격 IP 주소 등이 표시됩니다.
w 명령어
who 명령어보다 한 단계 더 나아가 현재 접속자의 작업 내역과 서버 부하 상태(Load Average)까지 종합적으로 보여줍니다.
w
- 확인 포인트: TTY 열을 통해 원격 접속(pts) 여부를 알 수 있고, WHAT 열을 통해 해당 계정이 현재 어떤 프로세스나 명령어를 실행 중인지 실시간으로 파악할 수 있습니다.
2. 과거 로그인 성공 기록 조회하기 (last)
과거부터 현재까지 서버에 성공적으로 접속했던 사용자들의 전체 이력을 조회할 때는 last 명령어를 사용합니다.
last
- 로그 저장 위치: /var/log/wtmp 바이너리 파일 기반으로 작동합니다.
- 주요 정보: 로그인 계정, 접속 경로, IP 주소, 접속 시작 및 종료 시간, 총 세션 유지 시간을 한눈에 보여줍니다.
특정 계정만 조회하고 싶을 때
last root
last 뒤에 계정명을 입력하면 해당 계정의 과거 접속 이력만 필터링하여 출력합니다.
3. 접속 실패 및 침입 시도 기록 조회하기 (lastb)
누군가 비인가 접속을 시도했거나 무차별 대입 공격(Brute Force)을 가했는지 확인하려면 로그인 실패 기록을 살펴봐야 합니다.
sudo lastb
- 로그 저장 위치: /var/log/btmp 바이너리 파일 기반으로 작동합니다.
- 보안 팁: 이유를 알 수 없는 해외 IP나 알 수 없는 계정명으로 반복적인 로그인 실패 기록이 찍혀 있다면, SSH 포트 변경이나 IP 차단(Fail2ban 설정 등) 조치가 필요합니다.
4. SSH 상세 접속 로그 파일 분석하기 (secure, auth.log)
명령어 기반의 출력 외에 정밀한 접속 시도 시각, 실패 원인, 인증 방식(비밀번호 또는 SSH Key) 등을 정밀 타격하여 분석하고 싶을 때는 시스템 로그 파일을 직접 확인합니다.
리눅스 OS 배포판별 로그 위치
- CentOS / RHEL / Rocky Linux: /var/log/secure
- Ubuntu / Debian: /var/log/auth.log
실시간 로그 모니터링 (tail -f)
서버에 들어오는 접속 요청을 실시간으로 감시하고 싶다면 다음과 같이 실행합니다.
# Ubuntu / Debian
sudo tail -f /var/log/auth.log
# CentOS / RHEL
sudo tail -f /var/log/secure
SSH 성공 로그만 필터링하기 (grep)
로그 양이 너무 많을 경우 grep 명령어로 Accepted 키워드만 추출해 낼 수 있습니다.
# Ubuntu / Debian
grep "Accepted" /var/log/auth.log
# CentOS / RHEL
grep "Accepted" /var/log/secure
5. 서버 접속 기록 관리 시 주의사항 및 보안 팁
- 로그 파일 보관 주기 점검: /var/log/ 디렉터리의 로그들은 logrotate 설정을 통해 주기적으로 압축 및 삭제됩니다. 장기 보안 감사를 위해 중요한 로그는 외부 로그 서버로 전송해 두는 것이 좋습니다.
- 로그 파일 패브리케이션 주의: root 권한이 탈취당한 경우 /var/log/wtmp나 /var/log/secure 파일이 변조될 수 있으므로, 주기적인 백업과 권한 관리가 필수적입니다.
- 기본 포트 변경: SSH 22번 기본 포트를 변경하는 것만으로도 대부분의 자동화 스캔 및 불법 접속 시도를 대폭 줄일 수 있습니다.
마무리
서버 관리의 시작은 "누가 들어왔는가"를 명확히 파악하는 것부터 시작됩니다. 오늘 소개해 드린 who, w, last, lastb 명령어와 시스템 로그 분석 법을 익혀두시면, 서버 보안 상태를 손쉽게 점검하고 불의의 보안 사고에 빠르게 대응하실 수 있습니다.