🚨 VPS SSH 登录报警系统

← 返回主页

1. 工具链搭建:msmtp + Resend

为了让 VPS 具备“说话”的能力,我选择了轻量级的 msmtp 作为发信代理。在安装过程中,为了避免不必要的权限阻塞,我选择了跳过 AppArmor 配置。

关键配置: 必须在 ~/.msmtprc 中正确填入 Resend 的 API Key,并设置权限为 600,否则系统会出于安全原因拒绝读取。

2. 自动化脚本:登录即报警

通过在 /etc/profile.d/ 目录下编写 Shell 脚本,实现了每次 SSH 登录自动触发邮件通知。

# 核心发信逻辑
printf "To: xxxxxxxx\nSubject: 🚨 SSH 登录提醒: $USER 访问了 VPS\n\n时间: $LOGIN_DATE\n来源 IP: $LOGIN_IP" | msmtp xxxxxxxx

3. 排障历程:从 Bounced 到 Success

配置过程并非一帆风顺,我遇到了两个全栈开发中非常经典的“坑”:

4. 最终成果

达成: 现在每当有远程访问时,我的手机都会立刻收到来自 admin@yushenchuanmei.top 的详细报警邮件。

这套系统利用了 Cloudflare 邮件路由、Resend SMTP 以及 Linux 系统脚本,构建了一道坚实的运维防线。