Оповещение на электронную почту при входе в систему по SSH
Введение
В данной заметке разберем один из способов создание оповещений на почту, при подключении по SSH.
Подготовка нашего сервера, установка Postfix
Заходим на наш сервер под root или используем sudo, для начала нам понадобиться установить Postfix:
apt-get install postfix mailutils -y
Во время установки выбираем Internet Site:
Далее добавляем полное доменное имя или оставляем Hostname нашего сервера и ждем завершения установки.
Получение пароля приложения для Gmail
1. Переходим по ссылке в свой аккаунт, в поиске пишем Пароли приложений и выбираем этот пункт:
2. Далее создаем сам пароль приложений, выбираем Почта, далее выбираем Устройство, жмем Создать:
Готово, сохраняем пароль в надежное место и переходим к настройкам Postfix.
Настройка Postfix
1. Создаем файл паролей командой:
nano /etc/postfix/sasl_passwd
2. В файл добавляем содержимое следующего вида:
[smtp.gmail.com]:587 [email protected]:PASSWORD
- Где USERNAME пишем наше имя пользователя Gmail.
- Где PASSWORD вставляем пароль приложений который мы только что создали.
3. Делаем разрешения на просмотр только от root командой:
chmod 600 /etc/postfix/sasl_passwd
4. Далее открываем конфигурационный файл Postfix /etc/postfix/main.cf:
nano /etc/postfix/main.cf
relayhost =
relayhost = [smtp.gmail.com]:587
Далее под этой строкой добавляем следующие значения:
smtp_use_tls = yes smtp_sasl_auth_enable = yes smtp_sasl_security_options = smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
5. Компилируем и хэшируем содержимое файла sasl_password, который мы создали ранее с помощью команды:
postmap /etc/postfix/sasl_passwd
6. Перезапускаем Postfix командой:
systemctl restart postfix
7. Последний шаг в настройке Postfix, включение автозапуска при старте системы командой:
systemctl enable postfix
Создаем оповещение при входе в систему через SSH
1. Открываем в редакторе файл /etc/profile:
nano /etc/profile
2. В нижней части файла добавляем следующие строки:
if [ -n "$SSH_CLIENT" ]; then TEXT="$(date): ssh login to ${USER}@$(hostname -f)" TEXT="$TEXT from $(echo $SSH_CLIENT|awk '{print $1}')" echo $TEXT|mail -s "ssh login" EMAIL fi
Там где EMAIL вставляем адрес нашей почты, на которую мы хотим принимать оповещения:
Готово, теперь можно проверить, разлогиниваемся или открываем новую сессию SSH, на почту должно придти письмо такого вида:
Которое содержит имя пользователя, время и IP адрес с которого пользователь вошел.
Вывод
Готово, в этой заметке мы научились создавать оповещение на почту при подключении по SSH к серверу, надеюсь у вас это не вызвало какого-то большого труда.
Что бы не потерять инструкцию рекомендую подписаться на мой личный блог-канал в Telegram в котором я делюсь в формате заметок своими знаниями и интересным из мира IT, спасибо за потраченное время на чтение и доброго времени суток!)