【linux】服务器sshd服务导致CPU负载过高问题

一、背景

一台服务器突然访问ssh特别缓慢,top命令查看后,服务器Load Average占用很高。看相关异常进程都是sshd服务导致。
在这里插入图片描述

二、排查思路

查看服务器内存,磁盘io都是正常,在用连接数也不多。
在这里插入图片描述
一开始就怀疑是不是服务器被恶意攻击了,这是一台sftp主机,正常情况sshd也不会负载这么高,
后面重连服务器弹出以下错误

Using username "root".
Keyboard-interactive authentication prompts from server:
End of keyboard-interactive prompts from server
Last failed login: Mon May 20 09:26:33 CST 2024 from 访问IPxxxx on ssh:notty
There were 16904 failed login attempts since the last successful login.
Last login: Tue May 14 13:54:41 2024 from 172.16.xxx.xxx
ABRT has detected 1 problem(s). For more info run: abrt-cli list --since 1715666081
[root@localhost ~]#

应该是某个客户端挂了个脚本一直尝试访问sshd服务

三、处理方法

·查看btmp日志,btmp日志是记录失败登录尝试的日志文件,通常位于 /var/log/btmp。当 btmp 日志过大时,可能会导致系统资源被大量无效的登录尝试占用,影响正常服务的运行,比如 sshd 服务。
在这里插入图片描述
清除btmp日志

#清除btmp
echo "" > /var/log/btmp

日志清空后,Load Average逐步恢复正常。
如果仍然异常,尝试重启以下服务

systemctl restart systemd-logind
systemctl restart sshd

统计查看恶意ip试图登录次数

lastb | awk '{ print $3}' | sort | uniq -c | sort -n
lastb | awk '/\(/{ print $3}' | sort | uniq -c | sort -n

在防火墙处最后限制异常IP访问

附加:btmp日志为二进制格式,无法用常用vi等查看
查看格式:

last -f /var/log/btmp

last -f /var/log/btmp | awk '/\(/{ print $3}' | sort | uniq -c | sort -n
  • 11
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值