[alt text](img/image.png)! [alt text](img/image.png) Сохраните скрипт 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 Теперь ваш монитор будет работать как демон.