Отправка сообщения в Telegram при логине в ssh
Перейти к навигации
Перейти к поиску
Для отправки сообщения кто и откуда зашел по ssh можно сделать следующее:
Создаем скрипт /usr/local/bin/ssh_login_msg_to_telegram.sh
#!/bin/bash # id пользователя (тут случайный не правильный id) USERID="5700000000" # token для доступа к HTTP API получаем при создании бота через BotFather (тут случайный не правильный ключ): KEY="1877000000:AAEfG0000000000000000aaaaaaaaaaaR2VtA" URL="https://api.telegram.org/bot$KEY/sendMessage" TEXT="SSH: \\\"$PAM_USER\\\" залогинился на $HOSTNAME в $(date '+%Y.%m.%d %H:%M:%S')" REQUEST='{"chat_id":"'${USERID}'","disable_web_page_preview":"1","text":"'${TEXT}'"}' /usr/bin/curl --silent -i -H "Content-Type: application/json" -X POST -d "${REQUEST}" ${URL} >/dev/null
Даем права скрипту:
sudo chmod 750 /usr/local/bin/ssh_login_msg_to_telegram.sh sudo chown root:root /usr/local/bin/ssh_login_msg_to_telegram.sh
В файл /etc/pam.d/sshd после строк начинающихся с:
session optional
добавляем строку:
session optional pam_exec.so type=open_session seteuid /usr/local/bin/ssh_login_msg_to_telegram.sh
Идея взята тут