如何设置 Linux 上 SSH 登录的 Email 提醒

如何设置 Linux 上 SSH 登录的 Email 提醒

虚拟私有服务器 (VPS)上启用 SSH 服务使得该服务器暴露到互联网中,为黑客攻击提供了机会,尤其是当 VPS 还允许root 直接访问时。VPS 应该为每次 SSH 登录成功尝试配置一个自动的 email 警告。 VPS 服务器的所有者会得到各种 SSH 服务器访问日志的通知,例如登录者、登录时间以及来源 IP 地址等信息。这是一个对于服务器拥有者来说,保护服务器避免未知登录尝试的重要安全关注点。这是因为如果黑客使用暴力破解方式通过 SSH 来登录到你的 VPS 的话,后果很严重。在本文中,我会解释如何在 CentOS 6、 CentOS 7、 RHEL 6 和 RHEL 7上为所有的 SSH 用户登录设置一个 email 警告。

  1. 使用root用户登录到你的服务器;
  2. 在全局源定义处配置警告(/etc/bashrc),这样就会对 root 用户以及普通用户都生效:
    
    
    1. [root@vps ~]# vi /etc/bashrc

    将下面的内容加入到上述文件的尾部。

    
    
    1. echo 'ALERT - Root Shell Access (vps.ehowstuff.com) on:' `date` `who` | mail -s "Alert: Root Access from `who | cut -d'(' -f2 | cut -d')' -f1`" recipient@gmail.com
  3. 你也可以选择性地让警告只对 root 用户生效:
    
    
    1. [root@vps ~]# vi .bashrc

    将下面的内容添加到/root/.bashrc的尾部:

    
    
    1. echo 'ALERT - Root Shell Access (vps.ehowstuff.com) on:' `date` `who` | mail -s "Alert: Root Access from `who | cut -d'(' -f2 | cut -d')' -f1`" recipient@gmail.com

    整个配置文件样例:

    
    
    1. # .bashrc
    2. # User specific aliases and functions
    3. alias rm='rm -i'
    4. alias cp='cp -i'
    5. alias mv='mv -i'
    6. # Source global definitions
    7. if [ -f /etc/bashrc ]; then
    8. . /etc/bashrc
    9. fi
    10. echo 'ALERT - Root Shell Access (vps.ehowstuff.com) on:' `date` `who` | mail -s "Alert: Root Access from `who | cut -d'(' -f2 | cut -d')' -f1`" recipient@gmail.com
  4. 你也可以选择性地让警告只对特定的普通用户生效(例如 skytech):
    
    
    1. [root@vps ~]# vi /home/skytech/.bashrc

    将下面的内容加入到/home/skytech/.bashrc文件尾部:

    
    
    1. echo 'ALERT - Root Shell Access (vps.ehowstuff.com) on:' `date` `who` | mail -s "Alert: Root Access from `who | cut -d'(' -f2 | cut -d')' -f1`" recipient@gmail.com

原文发布时间:2015-04-26

本文来自云栖合作伙伴“linux中国”

时间: 2024-10-27 15:56:31

如何设置 Linux 上 SSH 登录的 Email 提醒的相关文章

设置 Linux 上 SSH 登录的 Email 提醒

VPS)上启用 SSH 服务使得该服务器暴露到互联网中,为黑客攻击提供了机会,尤其是当 VPS 还允许root 直接访问时.VPS 应该为每次 SSH 登录成功尝试配置一个自动的 email 警告. VPS 服务器的所有者会得到各种 SSH 服务器访问日志的通知,例如登录者.登录时间以及来源 IP 地址等信息.这是一个对于服务器拥有者来说,保护服务器避免未知登录尝试的重要安全关注点.这是因为如果黑客使用暴力破解方式通过 SSH 来登录到你的 VPS 的话,后果很严重.在本文中,我会解释如何在 C

linux中ssh登录后limit值未得到限制

查看了下相关生成应用的进程的limits情况,发现是修改后的值.(cat /proc/pid/limits) 我使用su - user 后发现ulimit -a 的值又显示成功 那这是什么问题呢? ssh登录后不成功,那我想会不会是pam模块被人修改了呢? 查看/etc/pam.d/login /etc/pam.d/sshd 都包含了pam_limits.so 这是什么尿性的节奏啊!!!! 会不会是sshd没有使用pam模块呢? 看了下配置文件 grep -i pam /etc/ssh/sshd

linux中ssh登录很慢问题解决办法

使用ssh客户端(如:putty)连接Linux服务器,可能会等待10-30秒才有提示输入密码.严重影响工作效率.登录很慢,登录上去后速度正常,这种情况主要有两种可能的原因: 1. DNS反向解析问题 OpenSSH在用户登录的时候会验证IP,它根据用户的IP使用反向DNS找到主机名,再使用DNS找到IP地址,最后匹配一下登录的IP是否合法.如果客户机的IP没有域名,或者DNS服务器很慢或不通,那么登录就会很花时间. 解决办法: 在目标服务器上修改sshd服务器端配置,并重启sshd vi /e

设置不输入密码ssh登录

在/etc/hosts文件下加入:   192.168.1.60 u60 #设置u60为主机名 在每个节点上创建RSA秘钥: # ssh-keygen -t rsa # 一直按确定键即可 # touch /root/.ssh/authorized_keys 先配置u60,这样u60就可以无密码访问u62和u63了: u60# scp /root/.ssh/id_rsa.pub u62:/root/.ssh/id_rsa.pub_u60 u60# ssh u62 "cat /root/.ssh/i

Linux上GDM登录界面如何适应高分屏

GDM(GNOME Desktop Manager)是一种 GNOME 显示环境的管理器,它是一个运行在后台的小程序(脚本),用于运行你的 X 会话,显示一个登录界面并在你正确输入密码后才允许登录.GDM 在各个方面胜出 xdm,也没有 xdm 那么多的漏洞.它没有使用任何来自 xdm 的代码.它支持 XDMCP,并实际上扩展了 XDMCP,带来了一些我认为 xdm 所缺失的功能(但是仍然兼容 xdm 的 XDMCP). 背景介绍 Linux 对于高分屏的自适应不是很好,使用过程中由于屏幕分辨率

Linux 上 GDM 登录界面如何适应高分屏

GDM(GNOME Desktop Manager)是一种 GNOME 显示环境的管理器,它是一个运行在后台的小程序(脚本),用于运行你的 X 会话,显示一个登录界面并在你正确输入密码后才允许登录.GDM 在各个方面胜出 xdm,也没有 xdm 那么多的漏洞.它没有使用任何来自 xdm 的代码.它支持 XDMCP,并实际上扩展了 XDMCP,带来了一些我认为 xdm 所缺失的功能(但是仍然兼容 xdm 的 XDMCP). 背景介绍 Linux 对于高分屏的自适应不是很好,使用过程中由于屏幕分辨率

Linux SSH登录慢案例分析

手头有台Linux服务器ssh登录时超级慢,需要几十秒.其它服务器均没有这个问题.平时登录操作都默默忍了.今天终于忍不住想搞清楚到底什么原因.搜索了一下发现了很多关于ssh登录慢的资料,于是自己也学着来分析.印证一下ssh登录慢的原因. 出现ssh登录慢一般有两个原因:DNS反向解析的问题和ssh的gssapi认证   1:ssh的gssapi认证问题 GSSAPI ( Generic Security Services Application Programming Interface) 是一

linux学习:CentOS、Mac上SSH的设置以及SceureCRT中的文件上传下载

java项目做好后,最终部署时,通常是通过SecureCRT(或其它终端)连接linux上传war包来进行.学几个基本的linux命令还是必要的. 一.CentOS上的SSH设置 1.1 终端窗口下,以root身份登录,修改hosts.allow,允许用户远程连接vi /etc/hosts.allow按 i 键切换到 insert模式,在最后一行加一句sshd:ALL然后按ESC返回命令模式,然后再按:进行末行模式,最后输入x 保存退出(注:如果保存时,提示文件只读,可以尝试 chmod +w

java ssh linux-java实现ssh登录远程Linux服务器并在该服务器上执行命令的问题

问题描述 java实现ssh登录远程Linux服务器并在该服务器上执行命令的问题 请教高手: 现在要使用java实现ssh登录远程Linux服务器并在该服务器上执行命令,获得执行命令的结果!由于采用的ssh登录方式是使用公钥密钥对的形式,不需要输入密码.所以如果正常的话可以直接执行,能很快得到结果. 但要是不小心出现问题,比如公钥密钥丢失等情况,就会需要输入密码,这时候程序就会一直停留在等待输入密码的那一步,无法继续执行下去. 现在假设发生了后面那种事情(需要输入密码,程序一直停留在等待密码),