登录
首页 >  文章 >  php教程

宝塔面板如何设置SSH登录报警?当有人尝试登录服务器时通过宝塔面板通知

时间:2026-05-03 08:11:32 194浏览 收藏

IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《宝塔面板如何设置SSH登录报警?当有人尝试登录服务器时通过宝塔面板通知》,聊聊,我们一起来看看吧!

可通过三种方式实现SSH登录安全告警:一、宝塔“网站监控”扫描/var/log/secure或auth.log并匹配关键词触发通知;二、自定义Python脚本监听日志并调用宝塔API推送消息;三、结合fail2ban监控失败登录并邮件告警。

宝塔面板如何设置SSH登录报警?当有人尝试登录服务器时通过宝塔面板通知

当有人通过 SSH 尝试登录您的服务器时,若未配置安全告警机制,可能无法及时发现异常访问行为。宝塔面板本身不直接提供 SSH 登录实时触发通知的功能,但可通过系统日志监控与自定义脚本联动实现该效果。以下是三种可行的实现方式:

一、使用宝塔面板内置的“网站监控”+自定义日志匹配规则

该方法利用宝塔的“安全”模块中“网站监控”功能对 /var/log/secure(或 /var/log/auth.log)进行关键词扫描,当检测到 SSH 登录事件时触发邮件或微信通知。

1、进入宝塔面板 → 安全 → 网站监控 → 添加监控任务。

2、监控路径填写:/var/log/secure(CentOS/RHEL)或/var/log/auth.log(Ubuntu/Debian)。

3、匹配规则填写:sshd.*Accepted|sshd.*Failed|sshd.*Connection closed(覆盖成功、失败及连接中断事件)。

4、通知方式选择“邮件通知”或“微信推送”,并确保已正确配置对应通知通道。

5、启用“实时监控”并保存任务。

二、部署自定义 Python 脚本监听 auth 日志并调用宝塔 API 推送通知

该方法通过后台常驻脚本持续读取认证日志,解析新出现的 SSH 登录行,并调用宝塔面板的 Web API(需开启 API 且配置白名单)发送消息。

1、确认宝塔面板已开启 API:面板设置 → API 开关设为“启用”,记录 API 地址、密钥和允许的 IP 白名单。

2、创建脚本文件:/www/server/panel/py/ssh_alert.py,写入日志解析与 API 调用逻辑。

3、脚本中需识别关键字段如源 IP、用户名、登录结果(Accepted/Failed),并构造 JSON 请求体,POST 到 /api/panel/push_msg 接口。

4、使用 systemd 或 screen 启动脚本并保持后台运行,例如执行:nohup python3 /www/server/panel/py/ssh_alert.py &

5、验证日志更新后是否收到通知,检查宝塔日志(/www/wwwlogs/panel/panel.log)确认 API 调用状态。

三、结合 fail2ban 与宝塔邮件服务实现登录失败即时告警

fail2ban 可监控 SSH 认证失败行为并自动封禁 IP,同时支持在触发动作时执行外部命令(如发送邮件)。此方案聚焦于“失败登录”场景,响应及时且稳定。

1、安装 fail2ban(如未安装):yum install fail2ban -y(CentOS)或apt install fail2ban -y(Ubuntu)。

2、编辑 jail.local 配置:/etc/fail2ban/jail.local,添加 sshd 监控段并启用 action_mw(邮件告警)。

3、配置 destemail 为宝塔面板已验证的管理员邮箱,确保宝塔“邮件推送”功能已启用且 SMTP 设置有效。

4、重启服务:systemctl restart fail2ban

5、手动模拟一次失败 SSH 登录(如错误密码),观察是否收到含源 IP 与时间戳的告警邮件。

到这里,我们也就讲完了《宝塔面板如何设置SSH登录报警?当有人尝试登录服务器时通过宝塔面板通知》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>