首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >SSH登录 邮件提醒

SSH登录 邮件提醒

作者头像
逍遥子大表哥
发布2025-11-17 16:32:59
发布2025-11-17 16:32:59
690
举报
文章被收录于专栏:kali blogkali blog

作为网络安全和Linux运维者。时刻要做到知己知彼百战不殆。而SSH暴力破解一直是攻击者最常用的手段之一。倘若ssh被爆破成功,我们能否第一时间挽救自己的服务器呢?

本文我们讲配置ssh登录成功后,邮件提醒功能!方便自己随时随地掌控自己的服务器安全。

可以看到暴力破解为重灾区
可以看到暴力破解为重灾区

可以看到暴力破解为重灾区

接下来,我们需要用到 msmtpmutt两个软件。

关于msmtp

msmtp 就是一个支持服务器配置文件的轻型 SMTP 客户端,配合 mutt 可以达到邮件发送的效果。 我们执行下面命令进行安装!

代码语言:javascript
复制
apt install msmtp mutt

接下来,我们在/usr/share/doc/msmtp/examples/msmtprc-system.example文件到/etc/msmtprc

代码语言:javascript
复制
cd /usr/share/doc/msmtp/examples/
cp msmtprc-system.example /etc/msmtprc

修改内容如下:

配置示例如下:

代码语言:javascript
复制
host smtp.qq.com #SMTP域名,例如QQ邮箱为smtp.qq.com
# Use TLS on port 465
port 465 #465为默认smtp tls端口,如果选择不加密一般改成25
tls on #是否开启TLS
tls_starttls off # STARTTLS是对纯文本通讯协议的扩展。它提供一种方式将纯文本链接升级为加密链接(TLS或SSL),而不是另外使用一个端口做加密通讯。我在使用过程中发现开启时大概率发送失败,可能和qq的smtp服务器有关,因此保持默认关闭即可。
from xxx@qq.com #发送邮件的地址,以qq邮箱为例
auth on #启用验证
user xxx@qq.com #用户名,以qq邮箱为例
password xxxxxxxx #这里填授权码或密码
# Syslog logging with facility LOG_MAIL instead of the default LOG_USER
syslog LOG_MAIL

接下来,我们发送一份邮件进行测试。

代码语言:javascript
复制
echo "这是一封测试邮件" | msmtp -v 914101530@qq.com

接下来,修改 /etc/Muttrc文件,在最后面添加内容如下:

代码语言:javascript
复制
set sendmail="/usr/bin/msmtp"
set use_from=yes
set realname="你想要显示的发送名称"
set from=xxx@qq.com

添加提醒模板

/etc/ssh下生成新建文件ssh_alarm.sh 内容如下:

代码语言:javascript
复制
#!/bin/bash

if [ -z "${SSH_CONNECTION}" ];then
    echo'$SSH_CONNECTION:not exists'
    exit 1
fi

#定义变量
from_ip=`echo${SSH_CONNECTION} | awk '{print$1}'`
from_port=`echo${SSH_CONNECTION} | awk '{print$2}'`
server_ip=`echo${SSH_CONNECTION} | awk '{print$3}'`
user=`echo${LOGNAME}`
hostname_1=`echo${HOSTNAME}"("$server_ip")"`
server_time=`echo $(date +"%Y-%m-%d %R")`
e_mail=收件地址@qq.com

#IP白名单,192.168.1.1这个IP登录时不提示
ip_exit=`echo${from_ip}|cut -d "." -f 1,2,3`
if [ "${ip_exit}" == "192.168.1.1" ];then
exit 1
fi

#用户登录白名单,username这个用户登录时不提示
if [ "${user}" == "username" ];then
exit 1
fi

#Send mail
echo -e "
**********SSH登录警告**********\n

    登录主机:${hostname_1}\n
    登录用户:${user}\n
    登录时间:${server_time}\n
    登录IP:${from_ip}\n
    登录IP端口:${from_port}\n
    请注意核查是否可信登录,如非可信,请立即更换密匙和密码。

******************************"|mutt -s "服务器SSH登录警告"${e_mail}

添加软链接

接下来,需要配置一个 sshrc 文件,这个文件的作用是当连接 ssh 时自动执行文件内的脚本。 内容如下:

代码语言:javascript
复制
bash /etc/ssh/ssh_alarm.sh

登录测试

参考文章:https://blog.tama.guru/record/ssh_login_mail.html

更多精彩文章 欢迎关注我们

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-09-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 kali笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于msmtp
  • 添加提醒模板
  • 添加软链接
  • 登录测试
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档