리눅스 정보실

리눅스 서버 접속 기록 확인하는 법 last 명령어 실전 사용법 정리

고지존 2025. 7. 31. 09:02

리눅스 서버 운영 시, 누가 언제 어디서 접속했는지를 확인하는 일은 보안 관리의 기본입니다. 특히 외부로부터의 SSH 접속이 잦은 환경이라면 접속 이력을 주기적으로 점검해야 보안 사고를 예방할 수 있습니다. 이때 유용하게 사용되는 명령어가 바로 last입니다.

1. last 명령어란?

last/var/log/wtmp 파일을 기반으로 로그인 이력을 출력하는 명령어입니다. 사용자의 로그인/로그아웃 시간, 접속 IP, 사용된 터미널 등을 확인할 수 있습니다. 시스템 재부팅 기록도 함께 출력되기 때문에 전반적인 시스템 접속 흐름을 파악하는 데 매우 유용합니다.

 

last 명령어 확인 결과

2. 기본 사용법

last

가장 최근 로그인 이력부터 차례대로 출력됩니다. 기본적으로 사용자 이름, TTY(터미널), 접속 IP 또는 호스트명, 로그인 시간과 지속 시간 등이 표시됩니다.

3. 특정 사용자 접속 기록 확인

last 사용자명

예를 들어 root 계정의 로그인 이력만 확인하려면 아래처럼 입력합니다.

last root

4. 특정 TTY 또는 포트 확인

last -t pts/0

원격 SSH 접속 시 사용되는 가상 터미널(예: pts/0)에 대한 기록만 확인할 수 있습니다. 이는 침입 의심 세션을 좁혀서 분석할 때 유용합니다.

5. IP 또는 호스트 기반 필터링

직접 IP로 필터링할 수는 없지만, grep과 조합하여 특정 IP로 접속한 기록을 추출할 수 있습니다.

last | grep 192.168.0.10

6. 재부팅 기록 확인

last reboot

시스템이 언제 재부팅되었는지를 확인할 수 있습니다. 재부팅이 빈번하거나 예기치 않게 발생했다면 이를 분석하는 데 활용됩니다.

7. 시스템 종료 이력 확인

last shutdown

정상적인 종료인지 또는 강제 종료인지 구분하는 실마리를 제공할 수 있습니다.

8. 출력 결과 해석 예시

root     pts/0        192.168.0.10    Mon Jul 29 14:12   still logged in
user1    pts/1        10.0.0.5        Mon Jul 29 12:05 - 12:33  (00:28)
reboot   system boot  5.14.0-427.el9  Sun Jul 28 09:01   still running
  • root: 로그인한 사용자
  • pts/0: 접속 터미널
  • 192.168.0.10: 접속 IP
  • still logged in: 현재 로그인 중임을 의미

9. 출력 개수 제한

last -n 10

최근 10개의 로그인 기록만 출력합니다. 로그가 많을 경우 빠르게 확인할 때 유용합니다.

10. 출력 시간 범위 제한

last는 기본적으로 시간 필터링 기능이 없지만, last -F 옵션으로 날짜 및 시간 정보를 좀 더 상세히 출력할 수 있고, grep과 조합하여 기간 필터링이 가능합니다.

last -F | grep "Jul 29"

11. wtmp 파일 직접 지정

기록 파일이 이동되거나 보관된 백업 파일을 조회하고자 할 때 사용합니다.

last -f /var/log/wtmp.1

12. 보안 점검 시 체크리스트

  • root 계정 외 접속 이력 존재 여부
  • 이상한 시간대의 접속 흔적
  • 내부망에서 외부 IP 접속 기록
  • 불규칙한 접속 및 즉시 로그아웃 패턴

last 명령어는 단순히 로그인 이력을 보여주는 도구가 아니라, 시스템 보안의 흐름을 읽을 수 있는 중요한 분석 도구입니다. 로그를 정기적으로 점검하고 이상 징후를 빠르게 포착하는 습관이 안정적인 서버 운영의 핵심입니다.