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 |
저장된 파일 내용 터미널에 출력 |