Profile picture

[Linux] Ubuntu 서버 SSH 접속 시도한 로그 확인하기

JaehyoJJAng2023년 07월 04일

◾️ 개요

waytothem.store 라는 DJANGO 기반 블로그를 AWS 사의 Lightsail 인스턴스 위에서 배포하고 있다.

해당 인스턴스의 경우 22번 포트로 들어오는 모든 트래픽을 허용하고 있는데, 문득 어떤 IP 들이 내 서버로 원격 접속 시도를 하고있는지 궁금해졌다.

그래서 가장 빠르게 확인해볼 수 있는 방법을 소개하려 한다.


▪️ journalctl -xeu

journalctl -xeu 명령은 시스템의 로그 메시지를 검색하고 조회하기 위한 Linux에서 사용되는 명령이다. journalctl의 자세한 사용방법은 아래 게시글을 참고하도록 하자.
([Linux] journalctl 사용법 익히기 - WTT Devlog)


사용된 옵션의 의미는 아래와 같다.

  • -x: 실패한 메시지 또는 에러 메시지리를 표시함. 이 옵션을 추가 정보를 제공하여 실패한 메시지 또는 에러 메시지를 자세히 확인할 수 있도록 한다.
  • -e: 마지막 로그 항목부터 역순으로 로그를 표시. 따라서 가장 최근의 로그 항목이 먼저 표시됨.
  • -u (단위,unit) 이름을 지정하여 특정 서비스 또는 유닛에 대한 로그를 필터링 함. 여기서는 특정 서비스의 로그를 조회하고자 할 때 많이 사용된다.
journalctl -xeu ssh.service | grep -i 'closed by' | tail -n 3
Dec 08 02:21:39 ip-172-26-11-115 sshd[15746]: Connection closed by 3.101.35.25 port 44848 [preauth]
Dec 08 04:12:27 ip-172-26-11-115 sshd[16833]: error: kex_exchange_identification: Connection closed by remote host
Dec 08 04:12:27 ip-172-26-11-115 sshd[16833]: Connection closed by 184.168.20.101 port 42768

서버를 닫아 두었다가 다시 켠지 하루 조금 안됐는데도 벌써 400건이 넘는 ssh 접속 시도가 발생하였다.

journalctl -xeu ssh.service | grep -i 'closed by' | wc -l
455

▪️ lastb -50

최근 50건의 SSH 접속 시도 조회

sudo lastb -50

image


Loading script...