SEARCH

linux服务器SSH登录时自动发送邮件提醒到邮箱

发布日期:2017年12月23日,网站分类:网站新闻

SSH登录其实并没有什么好值得我们奇怪的,但如果登录时,会有相应的提示,比如手机短信,或者邮件提示,这样的话,相对我们来说,会多少有一些安全的感觉,当然,要做到手机短信提示,一般可以通过邮件提示来实现,这里我们使用QQ,163邮箱进行设置,我们来看看邮件提示的设置。


linux服务器SSH登录时自动发送邮件提醒到邮箱


以下方法适用OpenSSH,其他根据实际修改:


首先,确认你为OpenSSH使用了PAM,检查“/etc/ssh/sshd_config”,看下“UsePAM”的值是不是定义为“yes”。


接下来,利用pam_exec给OpenSSH做个钩子注册动作,编辑“/etc/pam.d/sshd”,在末尾添加一行:


session    optional     pam_exec.so seteuid /etc/ssh/login-notifications.sh


然后,创建个“login-notifications.sh”脚本来处理邮件发送,通常我会在“/etc/ssh/”下创建,内容如下:


#!/bin/sh   
if [ "$PAM_TYPE" != "close_session" ]; then   
    MAILTO='rongkeji@163.com'   
    HOSTNAME=$(hostname)   
    NOW=$(date)   
    echo "Someone from $PAM_RHOST using $PAM_USER logged into $HOSTNAME on $NOW." | mail -s 'SSH Login Notification' $MAILTO  
fi


记得把MAILTO值改为你的邮箱。最后为该脚本文件添加执行权限:


chmod +x /etc/ssh/login-notifications.sh


用这种方式的好处是什么呢?


或者说比你通过修改Shell的Profile文件(如bashrc、zshrc等等)来做邮件提醒有什么好处?


第一,免去多种Shell共存时,你都要去修改相应Shell配置文件。(如果你只用Bash Shell,那还好)


第二,免去每新增一个Shell窗口,便邮件提醒你一次。(有时开很多shell窗口来处理事物时,过多邮件提醒,很烦,也很傻)


第三,如果对方登录你的VPS,并不打开SSH窗口,便不会提醒的毛病。(比如我登录VPS,只是想SFTP而非SSH,这种方法也会邮件提醒,而通过修改Shell配置文件的则不会提醒,因为这时还没触发启动Shell)


第四,钩子直接在OpenSSH上,省去各种可能的意外。(比如上面第三点)


OK,就介绍到这里。


注意邮件提醒,需要你的服务器有邮件系统(比如Sendmail、Postfix等),另外还需要“mailx”这个组件来使Shell可发信。


邮件提醒只是一种安全措施(举措),而不是安全手段(认证或保密)。邮件提醒无法代替任何安全手段,比如“禁止密码,使用密钥登录”、“两步验证”等一些认证手段还是很有必要的。


邮件提醒并不能保障你的密码、密匙不会被盗或者说被泄漏,它只是很单纯的在有人登录的时候提醒你,仅此而已。



关键词:服务器

转载请注明来自:https://www.kufan.cn/news/34.html


上一篇:Nginx环境下正确配置SSL安全加密证书

下一篇:网站的关键词优化应该怎么添加才能优化到首页

地区分布

  • Da Tong
  • He Fei

昆明酷番网络科技有限公司

地址:昆明市官渡区鑫都韵城6栋20-B06

提供了定制化的行业网站建设解决方案

昆明酷番网络科技有限公司

地址:昆明市官渡区鑫都韵城6号楼20-B06

酷番建站技术服务,助您打造高端形象

公众号

微信公众号