Linux OS

리눅스 SSH 접속시 메일 알람 설정

갈색말 2022. 2. 10. 14:13

구성 환경

Naver Cloud VM, 4core 8Mem, Ubuntu 18.04

 

1. mail util 설치

# apt install mailutils

 

* Postifx 화면이 나오면 OK > Internet > Enter 식으로 넘어가도 무방.

 

2. hosts 수정

# vim /etc/hosts

 

맨 윗줄에 추가

127.0.0.1 [VM 호스트 이름] domain.domain.net domain [실제 이렇게. 형식만 필요할 뿐이므로]

 

3. 접속시 구동되는 Linux 인증 프로그램 모듈 PAM 수정

# vim /etc/pam.d/sshd

 

맨 아랫줄에 추가

session optional pam_exec.so seteuid /usr/local/bin/shell-login.sh

 

4. 메일을 보낼 발신자/수신자/메시지 등을 기록한 스크립트 작성

# vim /usr/local/bin/shell-login.sh

#!/bin/sh


# Change these two lines:
sender="$(hostname)@test.com"
recepient="test@test.com,test@test.co.kr"


if [ "$PAM_TYPE" != "close_session" ]; then
    host="`hostname`"
    subject="SSH Login: $PAM_USER from $PAM_RHOST on $host"
    # Message to send, e.g. the current environment variables.
    message="`env`"
    echo "$message" | mailx -r "$sender" -s "$subject" "$recepient"
fi

 

5. 스크립트에 스크립트를 실행할 권한 부여

# chmod +x /usr/local/bin/shell-login.sh

 

6. 스크립트 소유권 부여

# chown root:root /usr/local/bin/shell-login.sh

 

7. 새 터미널을 열어 접속

 

8. 성공여부 로그 확인

# cat /var/log/mail.log

# cat /var/log/mail.err