38 lines
1.2 KiB
Bash
38 lines
1.2 KiB
Bash
#!/bin/bash
|
|
|
|
# ----------------------------------------------------------------
|
|
# SSH Login Alert Script
|
|
# Ez a script e-mailt küld egy megadott címre,
|
|
# amikor egy felhasználó SSH-n keresztül bejelentkezik.
|
|
# ----------------------------------------------------------------
|
|
|
|
# Ide írd be az e-mail címet, ahova az értesítést kéred.
|
|
RECIPIENT_EMAIL="ide_ird_az_email_cimed@example.com"
|
|
|
|
# Az e-mail tárgya. A `hostname` parancs behelyettesíti a szerver nevét.
|
|
SUBJECT="SSH Bejelentkezés: $USER a $(hostname -f) szerveren"
|
|
|
|
# Az SSH_CLIENT változóból kivesszük csak az IP címet.
|
|
# Pl. "1.2.3.4 56789 22" -> "1.2.3.4"
|
|
CLIENT_IP=${SSH_CLIENT%% *}
|
|
|
|
# Az e-mail törzse. A 'cat << EOF' egy elegáns módja a több soros szöveg kezelésének.
|
|
BODY=$(cat << EOF
|
|
SSH bejelentkezés történt a $(hostname -f) szerveren.
|
|
|
|
Részletek:
|
|
Felhasználó: $USER
|
|
IP Címről: $CLIENT_IP
|
|
Időpont: $(date +"%Y-%m-%d %H:%M:%S")
|
|
|
|
--- Aktuálisan bejelentkezett felhasználók ---
|
|
$(who)
|
|
EOF
|
|
)
|
|
|
|
# Az e-mail elküldése a 'mail' paranccsal.
|
|
# Csak akkor próbáljon küldeni, ha az SSH_CLIENT változó létezik (tehát SSH kapcsolatról van szó).
|
|
if [ -n "$SSH_CLIENT" ]; then
|
|
echo "$BODY" | mail -s "$SUBJECT" "$RECIPIENT_EMAIL"
|
|
fi
|