2026-02-22 20:16:52 +03:00
2026-02-22 20:16:52 +03:00
2026-02-22 20:16:52 +03:00
2026-02-22 20:16:52 +03:00
2024-04-30 06:53:43 +03:00

alt text!

alt text

Сохраните скрипт sudo nano /usr/local/bin/telegram-ssh-notify.sh

Вставьте код и сделайте исполняемым: sudo chmod +x /usr/local/bin/telegram-ssh-notify.sh

Создайте конфигурационный файл

sudo nano /etc/telegram-ssh-notify.conf

TELEGRAM_TOKEN= TELEGRAM_CHAT_ID= TELEGRAM_TOPIC_ID= MAX_ATTEMPTS_BEFORE_CRITICAL=20 CRITICAL_TIME_WINDOW=300 AUTO_BLOCK_CRITICAL=false WHITELIST_IPS="127.0.0.1 10.0.0.0/8" BLACKLIST_IPS="1.2.3.4"

Откройте файл /etc/pam.d/sshd в редакторе (например, nano или vim):

sudo nano /etc/pam.d/sshd

Добавьте в конец файла строку:

session optional pam_exec.so /usr/local/bin/telegram-ssh-notify.sh #(обратите внимание: если вы переименовали скрипт, укажите правильное имя)

Сохраните файл и закройте редактор.

Перезапускать SSH не обязательно — PAM читает конфигурацию при каждой новой сессии.

Создайте файл юнита (например, /etc/systemd/system/ssh-check.service):

sudo nano /etc/systemd/system/ssh-check.service

Вставьте следующее содержимое (подставьте правильный путь к вашему скрипту, если он называется иначе, например, telegram-ssh-notify.sh):

[Unit] Description=SSH Login Monitor for Telegram Notifications After=network.target

[Service] ExecStart=/usr/local/bin/ваш_скрипт.sh monitor Restart=always User=root

[Install] WantedBy=multi-user.target

Обратите внимание: в ExecStart нужно указать команду с аргументом monitor (как в вашем скрипте). Если ваш скрипт называется telegram-ssh-notify.sh, то строка будет:

ExecStart=/usr/local/bin/telegram-ssh-notify.sh monitor

Перечитайте конфигурацию systemd и запустите сервис:

bash sudo systemctl daemon-reload sudo systemctl enable ssh-check.service # автозапуск при загрузке sudo systemctl start ssh-check.service

Проверьте статус:

bash sudo systemctl status ssh-check.service

Теперь ваш монитор будет работать как демон.

Description
No description provided
Readme 142 KiB
Languages
Shell 100%