Приведу несколько способов как получать оповещения на электронную почту о том что кто-то подключился к серверу по SSH.
ПЕРВЫЙ СПОСОБ:
Текстовым редактором, например nano, откроем файл /etc/ssh/sshrc (в редакторе nano CTRL+X для выхода, а y/n и Enter для сохранения или отмены изменений):
sudo nano /etc/ssh/sshrc
И добавим в него следующий код:
ip=`echo $SSH_CONNECTION | cut -d " " -f 1` logger -t ssh-wrapper $USER login from $ip (echo "Subject:login($ip) on server"; echo "User $USER just logged in from $ip";) | sendmail -f server@example.com -t your-email@example.com &
Перезапускать SSH не нужно, уведомления уже должны приходить при подключениях.
ВТОРОЙ СПОСОБ:
Добавляем указанные строки в конфиг /etc/rsyslog.conf (перед каждой строкой прокомментировал суть, данный код позволит отсылать сообщения о неудачных подключениях):
# Подключаем модуль отправки сообщений $ModLoad ommail # Указываем адрес почтового сервера $ActionMailSMTPServer mail.domain.com # Указываем email с которого будут отправляться сообщения $ActionMailFrom rsyslog@domain.com # Указываем email на который будут приходить сообщения $ActionMailTo test@domain.com # Указываем тему сообщения $template mailSubject,"SSH Invalid User %hostname%" # Указываем содержание сообщения $template mailBody,"RSYSLOG\r\nmsg='%msg%'" $ActionMailSubject mailSubject # Указываем в секундах как часто могут отправляться сообщения $ActionExecOnlyOnceEveryInterval 10 # Если в логах содержатся указанные в скобках символы, тогда отсылаем сообщение if $msg contains 'Invalid user' then :ommail:;mailBody
Такой же способ отправки через rsyslog, но отсылаются уведомления об успешных подключениях (код без комментариев как выше):
$ActionMailSMTPServer mail.domain.com $ActionMailFrom rsyslog@domain.com $ActionMailTo test@domain.com $template mailSubject,"SSH Accepted pass %hostname%" $template mailBody,"RSYSLOG\r\nmsg='%msg%'" $ActionMailSubject mailSubject $ActionExecOnlyOnceEveryInterval 10 if $msg contains 'Accepted password' then :ommail:;mailBody
В итоге при успешном или не успешном подключении к серверу SSH на электронную почту будут приходить сообщения. Аналогичным способом можно анонсировать на email и другие события которые логируются через rsyslog.