出于安全考虑,我们希望服务器在有用户通过ssh登陆时能自动向管理员发送一条邮件,通知登陆用户名和IP。这是一种不错的安全防范机制,它可以让管理员及时发现异常登陆,并在造成更大危害前(比如获得更高权限)阻止恶意访问。
方法很简单,建立
这个邮件里只提供了访问者的ip,但没有提供更有价值的ip地理信息,如有需要则点开邮件里的那个连接。一般情况下这就足够了。
为了从服务器上发送邮件,还需要安装MTA,如果不需要功能强大的如exim4/postfix等邮件系统,而只是发送邮件,可以采用ssmtp,然后通过gmail等邮件服务来发送,快速又省心。
后半段运行xauth,是为了保证X11Forwarding能正常工作,具体参见sshd的手册。
方法很简单,建立
/etc/ssh/sshrc
文件,内容如下,#!/bin/sh sendmail -t >/dev/null 2>&1 <<EOF to:admin@example.com from:server@example.com subject:$USER@`hostname` login from ${SSH_CLIENT%% *} http://www.123cha.com/ip/?q=${SSH_CLIENT%% *} EOF if read proto cookie && [ -n "$DISPLAY" ]; then if [ `echo $DISPLAY | cut -c1-10` = 'localhost:' ]; then # X11UseLocalhost=yes echo add unix:`echo $DISPLAY | cut -c11-` $proto $cookie else # X11UseLocalhost=no echo add $DISPLAY $proto $cookie fi | xauth -q - fi也可以只跟踪某个用户的登陆,比如root(当然,最好禁止root用ssh登陆),那就建立
/home/username/.ssh/rc
,内容同上。这个邮件里只提供了访问者的ip,但没有提供更有价值的ip地理信息,如有需要则点开邮件里的那个连接。一般情况下这就足够了。
为了从服务器上发送邮件,还需要安装MTA,如果不需要功能强大的如exim4/postfix等邮件系统,而只是发送邮件,可以采用ssmtp,然后通过gmail等邮件服务来发送,快速又省心。
后半段运行xauth,是为了保证X11Forwarding能正常工作,具体参见sshd的手册。
- labrador's blog
- 28634 次点击
发表新评论