麒麟系统怎么查看最近有哪些IP通过SSH尝试登录

酷强大大_8551

酷强大大_8551

2026-10-07

595人浏览

原创

要快速定位麒麟系统中近期异常ssh登录ip,需解析/var/log/auth.log,用grep筛选“failed password”并awk或sed提取ip,再用sort | uniq -c | sort -nr统计频次;高频ip(如超50次/小时)应立即防火墙封禁;查24小时ssh事件可用journalctl或awk按时间范围过滤auth.log。

麒麟系统怎么查看最近有哪些ip通过ssh尝试登录

要快速定位麒麟系统中近期是否有异常IP通过SSH发起登录尝试,必须直接解析认证日志文件,因为SSH连接请求(无论成功或失败)都会被PAM模块记录到/var/log/auth.log中,而last等命令仅反映已建立的会话,无法捕获被拒绝的试探行为。

筛选所有失败的SSH登录尝试IP

执行以下命令提取含“Failed password”字段的完整日志行,并只保留IP地址列:

sudo grep "Failed password" /var/log/auth.log | awk '{print $11}'

这一步输出的是原始IP字段,但部分日志中IP可能被方括号包裹(如[192.168.1.100]),直接取第11列会导致括号混入;若结果异常,请改用正则提取:sudo grep "Failed password" /var/log/auth.log | sed -n 's/.*from \([^ ]*\).*/\1/p'。

统计各IP失败次数并排序

攻击者常使用暴力扫描,单个IP反复尝试是典型特征。运行以下命令可按失败次数降序列出IP及其计数:

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

注意:若某IP出现频率极高(例如超过50次/小时),应立即在防火墙中封禁——【该操作不可逆,封禁后该IP将完全无法访问本机任何端口】。

查看最近24小时内所有SSH相关认证事件

方法一:用journalctl实时回溯(适用于systemd-journald已启用持久化)

sudo journalctl --since "24 hours ago" -u sshd.service | grep -E "(Failed|Accepted|Connection closed)"

米粿AI
米粿AI

一款AI图像与设计工具,主要用于AI辅助动漫创作工具,专为专业漫画师和动画制作团队设计,适合需要提升相关任务效率的用户。

下载

方法二:直接读取auth.log时间范围(更可靠,不依赖journald状态)

sudo awk -v d1="$(date -d '24 hours ago' '+%b %d %H:%M:%S')" -v d2="$(date '+%b %d %H:%M:%S')" '$0 > d1 && $0

此命令利用日志时间戳字符串的字典序比较实现范围筛选,能准确覆盖跨天场景(如当前是10月2日19:38,则自动包含10月1日19:38之后全部记录)。

提取成功登录的远程IP及对应用户名

第一步:筛选出所有“Accepted”类型的SSH登录成功条目

sudo grep "Accepted " /var/log/auth.log

第二步:从结果中精准提取日期、IP和用户名(跳过密钥类型等干扰字段)

sudo grep "Accepted " /var/log/auth.log | awk '{for(i=1;i

第三步:去重并按时间倒序排列(最新登录排最前)

sudo grep "Accepted " /var/log/auth.log | awk '{for(i=1;i

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

2023.10.24

5924

49

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

2023.10.24

5924

49

Go语言中的运算符有哪些
Go语言中的运算符有哪些

Go语言中的运算符有:1、加法运算符;2、减法运算符;3、乘法运算符;4、除法运算符;5、取余运算符;6、比较运算符;7、位运算符;8、按位与运算符;9、按位或运算符;10、按位异或运算符等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

2664

5

php三元运算符用法
php三元运算符用法

本专题整合了php三元运算符相关教程,阅读专题下面的文章了解更多详细内容。

2025.10.17

1692

13

switch语句用法
switch语句用法

switch语句用法:1、Switch语句只能用于整数类型,枚举类型和String类型,不能用于浮点数类型和布尔类型;2、每个case语句后面必须跟着一个break语句,以防止执行其他case的代码块,没有break语句,将会继续执行下一个case的代码块;3、可以在一个case语句中匹配多个值,使用逗号分隔;4、Switch语句中的default代码块是可选的等等。

2023.09.21

1051

6

Java switch的用法
Java switch的用法

Java中的switch语句用于根据不同的条件执行不同的代码块。想了解更多switch的相关内容,可以阅读本专题下面的文章。

2024.03.13

1397

13

while的用法
while的用法

while的用法是“while 条件: 代码块”,条件是一个表达式,当条件为真时,执行代码块,然后再次判断条件是否为真,如果为真则继续执行代码块,直到条件为假为止。本专题为大家提供while相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.25

334

5

while的用法
while的用法

while的用法是“while 条件: 代码块”,条件是一个表达式,当条件为真时,执行代码块,然后再次判断条件是否为真,如果为真则继续执行代码块,直到条件为假为止。本专题为大家提供while相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.25

334

5

字符常量是什么
字符常量是什么

字符常量是计算机编程中的一个概念,通常用于表示单个字符。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.12.26

2763

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习