LOG_SUCCESS="/var/log/successful_ssh_login_ip.txt"
LOG_FAIL="/var/log/failed_ssh_log_ip.txt"
journalctl -u sshd | grep "Accepted" | sed 's/.*from //' | cut -d' ' -f1 | sort | uniq -c | sort -nr | awk '{print $2" ["$1"]"}' > $LOG_SUCCESS
journalctl -u sshd | grep "Failed password" | sed 's/.*from //' | cut -d' ' -f1 | sort | uniq -c | sort -nr | awk '{print $2" ["$1"]"}' > $LOG_FAIL
echo "=== 로그인 성공 ==="
cat $LOG_SUCCESS
echo "=== 로그인 실패 ==="
cat $LOG_FAIL

요약

단계 설명
1 SSH 로그에서 성공/실패 로그인 라인 각각 추출
2 IP 주소만 추출
3 IP별 접속 횟수 카운트 및 내림차순 정렬
4 결과를 각각 지정된 파일에 저장
5 저장된 파일 내용 터미널에 출력