# Как получить уведомления на почту о входе по 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\. Сохраняемся.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://notes.kraken-security.ru/kraken/krupicy-znanii/instrumenty/kak-poluchit-uvedomleniya-na-pochtu-o-vkhode-po-ssh.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
