-
Notifications
You must be signed in to change notification settings - Fork 0
/
pushover_ssh_notification_install.sh
51 lines (42 loc) · 1.56 KB
/
pushover_ssh_notification_install.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/bash
apt install curl gawk screen -y
read -p "Wie ist der PUSHOVER USER KEY:" PUSHOVER_USER
echo Gesetzter Pushover USER KEY: $PUSHOVER_USER
read -p "Wie ist der PUSHOVER API KEY:" PUSHOVER_API_TOKEN
echo Gesetzter Pushover API KEY: $PUSHOVER_API_TOKEN
read -p "Wie ist der PUSHOVER APP Name:" PUSHOVER_NAME
echo Gesetzter Pushover APP Name: $PUSHOVER_NAME
cd /opt/
touch pushover-ssh.sh
chmod +x pushover-ssh.sh
FILE="/opt/pushover-ssh.sh"
/bin/cat <<EOM >$FILE
#!/bin/sh
if [ -z $PUSHOVER_USER ]
then echo "Der Pushover User muss im Script angegeben werden. Einen Wert f r PUSHOVER_USER setzen."
return 1
fi
if [ -z $PUSHOVER_API_TOKEN ]
then echo "Der Pushover Token muss im Script angegeben werden. Einen Wert f r PUSHOVER_API_TOKEN setzen."
return 1
fi
echo "SSH Zugriff wird nun ueberwacht"
tail -F /var/log/auth.log | gawk '{if(NR>10 && \$0 ~ /sshd/ && \$0 ~ /Accepted/)\
{ cmd=sprintf("curl -s \
-F \"token='$PUSHOVER_API_TOKEN'\" \
-F \"user='$PUSHOVER_USER'\" \
-F \"message=SSH Zugriff erfolgt durch %s von %s\" \
-F \"title=$PUSHOVER_NAME\" https://api.pushover.net/1/messages.json",\$9,\$11); \
system(cmd)}}'
EOM
echo "script wurde in /opt erstellt"
#write out current crontab
crontab -l > pushover
#echo new cron into cron file
echo "@reboot screen -dmS pushover-ssh sudo ./opt/pushover-ssh.sh" >> pushover
#install new cron file
crontab pushover
rm pushover
echo "crontab wurde erstellt. Das Script startet nun bei jeden reboot"
screen -dmS pushover-ssh sudo ./pushover-ssh.sh
echo "Script wurde mit screen gestartet unter namen pushover-ssh, siehe screen -ls"