R&D/OS

SSH login을 하면 discord에 알람 보내기

sunshout1 2026. 3. 21. 23:30
반응형

구조

  • SSH 로그인 발생 → PAM 트리거 → 스크립트 실행 → Discord Webhook 호출

1. Discord Webhook 생성

  • Discord 서버 → 설정 → Integrations → Webhooks → URL 생성

2. 스크립트 작성

sudo vi /usr/local/bin/ssh_notify.sh
 
 
 
#!/bin/bash

WEBHOOK_URL="https://discord.com/api/webhooks/XXXX"

USER="$PAM_USER"
IP="$PAM_RHOST"
DATE=$(date "+%Y-%m-%d %H:%M:%S")
TYPE="$PAM_TYPE"

# 이벤트 타입 구분
if [ "$TYPE" = "open_session" ]; then
    EVENT="🔐 SSH LOGIN"
elif [ "$TYPE" = "close_session" ]; then
    EVENT="🔓 SSH LOGOUT"
else
    exit 0
fi

# root 로그인 강조
if [ "$USER" = "root" ]; then
    EVENT="$EVENT 🚨"
fi

# 메시지 전송
curl -s -H "Content-Type: application/json" \
     -X POST \
     -d "{
           \"content\": \"$EVENT\nUser: $USER\nIP: $IP\nTime: $DATE\"
         }" \
     $WEBHOOK_URL
 
sudo chmod +x /usr/local/bin/ssh_notify.sh
 
 

3. PAM에 연결

 
sudo vi /etc/pam.d/sshd

맨 아래에 추가:

session optional pam_exec.so /usr/local/bin/ssh_notify.sh
 
728x90
반응형