Image

知识库 → 在 Debian 12 上成功 ssh 登录后发送通知

[虚拟服务器]
出版日期: 05.10.2023

每次用户登录 ssh 时,我们都会发送一封电子邮件通知。 它将包含信息,包括成功连接的时间和 IP 地址。

此类通知允许您控制和查看何时何人使用 ssh 使用服务器。

要使用授权从控制台发送信件,我们需要安装必要的软件包并配置它们。

1. 安装:

apt install ssmpt
apt install mailutils

2. 设置 ssmtp 服务,让我们将文件设置为以下形式:

nano /etc/ssmtp/ssmtp.conf

UseSTARTTLS=YES
root=email@domain.tld
mailhub=mail.domain.tld:587
AuthUser=email@domain.tld
AuthPass=P@ssw0rd
FromLineOverride=YES

3. 让我们编辑用户登录时执行的文件

nano /home/user1/.bashrc

echo 'ALERT - user1 ssh access (server-name) on:' `date` `who` | mail -s "SSH Login"  to@domain.tld
...
# ~/.bashrc: executed by bash(1) for non-login shells.

4. 现在,每次 user1 登录时,都会发送一条通知:

ALERT - user1 ssh access (server-name) on: Thu Oct 5 14:41:21 UTC 2023 user1 pts/0 (xx.ip.xx.ip)

5. 权限设置 由于 .bashrc 文件位于用户的文件夹中,因此默认情况下允许他编辑它;要拒绝它,让我们禁用 root 用户的写入权限:

chmod 444 /home/user1/.bashrc

准备好。 现在,该用户一旦登录,将无法禁用配置的通知。





暂时没有评论