# Как получить уведомления на почту о входе по SSH

### Уведомление на почту о входе по SSH <a href="#uvedomlenie-na-pochtu-o-vkhode-po-ssh" id="uvedomlenie-na-pochtu-o-vkhode-po-ssh"></a>

1\. Будем использовать Postfix — почтовый сервер с открытым исходным кодом. Его часто используют как почтовый сервер для сайтов. Ещё нам понадобится SMTP от Gmail.

Сразу уточним, что настраивать мы будем в примере на Ubuntu. Если у вас другой дистрибутив → примяйте соответствующие вашему дистрибутиву команды установки.

2\. Устанавливаем зависимости:

```
sudo apt-get install postfix mailutils -y
```

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

<figure><img src="https://telegra.ph/file/c3c58bd6507452ad10ba9.png" alt=""><figcaption><p>Выглядеть будет вот так</p></figcaption></figure>

3\. Выбираем «Internet site».

4\. В следующем окне добавляем полное доменное имя или имя хоста вашего компьютера.

<figure><img src="https://telegra.ph/file/35dc145c7b31e75f5fa5f.png" alt=""><figcaption></figcaption></figure>

5\. Перед ручной настройкой Postfix необходимо иметь пароль приложения Gmail. Это делается в разделе безопасности вашей [учетной записи Google](https://myaccount.google.com/).

6\. Создаём файл паролей:

```
sudo nano /etc/postfix/sasl_passwd
```

7\. Добавляем в файл следующее:

```
[smtp.gmail.com]:587 USERNAME@gmail.com: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 <a href="#sozdanie-opovesheniya-o-vkhode-po-ssh" id="sozdanie-opovesheniya-o-vkhode-po-ssh"></a>

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\. Сохраняемся.
