我们有一个 Google Cloud Platform (GCP) 服务器,它通过 ssh 端口 22 向全世界开放。(我知道这不是个好主意,但fail2ban
正是因为这个原因,它才在这台服务器上运行。)最近,服务器开始出现突然使用高 CPU 的行为,几个小时后它变得无响应。可能是 GCP 将服务器的 CPU 信用降低到非常低的值,最终服务器陷入停滞状态。
我尝试通过运行类似程序nohup top -d 120 -b | grep --line-buffered "load average" -A 10 &
并将输出记录到文件来捕获问题,但直到没有任何记录top
并且服务器变得无响应之前,我都没有发现任何错误。
-vvv
但是,今天我注意到,当我尝试在这种状态下使用 的调试( )开关连接到服务器时,ssh
连接有时会挂起,但有时会终止并显示如下消息:
debug1: kex_exchange_identification: banner line 0: Exceeded MaxStartups
尝试telnet server_ip 22
产生相同的行为:有时连接挂起,但有时我会得到响应Exceeded MaxStartups
。
这是某种 SSH 攻击还是其他原因造成的?我该如何进一步追踪问题?