Оповещение о входе на сервер по SSH

1 min read

Предположим, что вам хочется получать уведомление каждый раз, когда кто-то заходит на сервер. Если настроена авторизация по ключам, то можно особо не беспокоиться, что неизвестный сможет получить доступ через консоль. Но если установлены пользовательские пароли, то не будет лишним настроить получение уведомлений о входе в систему.

Можно определить любой набор действий, который будет выполняться при входе. Мы ограничимся отправкой сообщения в Telegram, содержащим имя пользователя и ip-адрес.

Редактируем файл  ~/.bashrc, если хотим сделать настройку для определенного пользователя, или /etc/bash.bashrc — для всех пользователей системы.

$ nano /etc/bash.bashrc

В конец файла добавим действия, которые надо выполнить в момент авторизации. Воспользуемся приложением Webhooks для @codex_bot, чтобы отправлять уведомления в Телеграм-чат.

### Уведомление об авторизации на сервере от @codex_bot # https://t.me/codex_bot # Получаем ip адрес USER_IP=$(echo $SSH_CLIENT | awk '{ print $1}') # Формируем сообщение для отправки BOT_MESSAGE="Server login on $(whoami) from $USER_IP" # Отправляем сообщение в чат. # Ссылку для вашего чата можно получить, отправив боту команду /notify curl -X POST -d "message=$BOT_MESSAGE" https://notify.bot.ifmo.su/u/ABCD1234

Все эти действия можно упаковать в отдельный скрипт и вызывать только его, чтобы не засорять .bashrc файл.