首页>>帮助中心>>美国服务器在Linux中查找所有失败的SSH登录尝试

美国服务器在Linux中查找所有失败的SSH登录尝试

2025/2/23 11次

美国服务器每次尝试登录到SSH服务器都会被Linux中的rsyslog守护进程跟踪并记录到日志文件中。 在Linux中列出所有失败的SSH登录尝试的最基本的机制是在cat命令或grep命令的帮助下显示和过滤日志文件的组合。

为了在Linux中显示失败的SSH登录列表,请发布本指南中提供的一些命令。 确保这些命令是以root权限执行的。

列出所有失败的SSH登录名的最简单命令如下所示。
# grep "Failed password" /var/log/auth.log


列出所有失败的SSH登录尝试

发出cat命令也可以达到同样的效果。

# cat /var/log/auth.log | grep "Failed password"
为了显示有关失败的SSH登录的额外信息,请按照下面的示例所示发出命令。

# egrep "Failed|Failure" /var/log/auth.log


在CentOS或RHEL中 ,失败的SSH会话记录在/ var / log / secure文件中。 针对此日志文件发出上述命令以标识失败的SSH登录名。

# egrep "Failed|Failure" /var/log/secure

在CentOS中查找失败的SSH登录

上述命令的稍微修改版本显示在CentOS或RHEL中失败的SSH登录如下。

# grep "Failed" /var/log/secure
# grep "authentication failure" /var/log/secure

要显示尝试失败登录到SSH服务器的所有IP地址列表以及每个IP地址尝试失败的次数,请发出以下命令。

# grep "Failed password" /var/log/auth.log | awk ‘{print $11}’ | uniq -c | sort -nr

在较新的Linux发行版中,可以通过journalctl命令查询Systemd守护进程维护的运行时日志文件。 为了显示所有失败的SSH登录尝试,您应该通过grep过滤器来输出结果,如以下命令示例所示。

# journalctl _SYSTEMD_UNIT=ssh.service | egrep "Failed|Failure"
# journalctl _SYSTEMD_UNIT=sshd.service | egrep "Failed|Failure" #In RHEL, CentOS

在CentOS或RHEL中 ,使用sshd.service替换SSH守护程序单元,如下面的命令示例所示。

# journalctl _SYSTEMD_UNIT=sshd.service | grep "failure"
# journalctl _SYSTEMD_UNIT=sshd.service | grep "Failed"
在确定了频繁出现在你的SSH服务器上的IP地址,以便用可疑的用户帐号或无效的用户帐号登录系统后,你应该更新系统防火墙规则来阻止失败的SSH尝试 IP地址或者使用专门的软件,比如fail2ban来管理这些攻击。

购买使用一诺网络美国云服务器,可以极大降低初创企业、中小企业以及个人开发者等用户群体的整体IT使用成本,无需亲自搭建基础设施、简化了运维和管理的日常工作量,使用户能够更专注于自身的业务发展和创新。美国云服务器低至49元/月,购买链接:https://www.enuoidc.com/vpszq.html?typeid=3

版权声明

    声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们996811936@qq.com进行处理。