Как получить уведомления на почту о входе по SSH
В этой статье расскажем, как можно настроить автоматические уведомления на почту при входе на сервер по SSH.
Уведомление на почту о входе по SSH
1. Будем использовать Postfix — почтовый сервер с открытым исходным кодом. Его часто используют как почтовый сервер для сайтов. Ещё нам понадобится SMTP от Gmail.
Сразу уточним, что настраивать мы будем в примере на Ubuntu. Если у вас другой дистрибутив → примяйте соответствующие вашему дистрибутиву команды установки.
2. Устанавливаем зависимости:
sudo apt-get install postfix mailutils -y
Во время установки postfix вам будет предложено выбрать тип почтовой конфигурации.

3. Выбираем «Internet site».
4. В следующем окне добавляем полное доменное имя или имя хоста вашего компьютера.

5. Перед ручной настройкой Postfix необходимо иметь пароль приложения Gmail. Это делается в разделе безопасности вашей учетной записи Google.
6. Создаём файл паролей:
sudo nano /etc/postfix/sasl_passwd
7. Добавляем в файл следующее:
[smtp.gmail.com]:587 [email protected]:PASSWORD
USERNAME → имя пользователя Gmail PASSWORD → пароль приложения, который только что создали
8. Сохраняем изменения, а после меняем разрешения файла. Нужно поменять так, чтобы его мог просматривать только пользователь root:
sudo chmod 600 /etc/postfix/sasl_passwd
9. Открываем основной файл конфигурации Postfix:
sudo nano /etc/postfix/main.cf
10. В файле main.cf ищем параметр relayhost и меняем строку на:
relayhost = [smtp.gmail.com]:587
11. Ниже этой строки добавляем:
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
12. Сохраняем изменения.
13. Скомпилируем с схешируем содержимое файла sasl_password, который мы создали ранее:
sudo postmap /etc/postfix/sasl_passwd
14. Перезапускаем Postfix:
sudo systemctl restart postfix
15. Включаем Postfix для запуска при старте:
sudo systemctl enable postfix
Создание оповещения о входе по SSH
1. После всех настроек осталось дело за малым. Вводим команду:
sudo 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 → это адрес необходимой почты.
3. Сохраняемся.
Last updated