服务器ssh连接失败,但是当时已经登录的终端可以正常操作

有台阿里云测试服务器很奇怪,偶尔会出现无法访问的情况,过几分钟就恢复了。
ssh登录不上,80端口的网站也访问不通,但是已经通过ssh登录的终端可以正常操作

  • IP是可以ping通的。ssh连接会失败:
[ws655@local~/Desktop] ]$ssh -v 150
OpenSSH_8.4p1, OpenSSL 1.1.1h  22 Sep 2020
debug1: Reading configuration data /c/Users/ws655/.ssh/config
debug1: /c/Users/ws655/.ssh/config line 117: Applying options for 150
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to 101.20.213.* [101.20.213.*] port 22.
  • 服务器的CPU,内存,带宽,都没有异常。
top - 17:54:14 up 73 days,  7:27,  3 users,  load average: 0.26, 1.09, 1.16
Tasks: 149 total,   1 running, 147 sleeping,   0 stopped,   1 zombie
%Cpu(s): 14.0 us,  4.5 sy,  0.0 ni, 81.1 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
KiB Mem :  8008968 total,  1274012 free,  1211236 used,  5523720 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  5966912 avail Mem
  • 服务器线程打开文件数量也是正常的。
$lsof | wc -l
892
$ulimit -n
65535

改过 ssh 的连接数量,不管用。
新情况,我换了个wifi又可以登录了。

现在最奇怪的是“新建ssh连接登录不上,但是已经通过ssh登录的终端可以正常操作 。”

阅读 4k
2 个回答

可能是你的服务器连接数量太多,新的连接无法正常建立,需要等待连接释放后才能建立起新的连接,可以监控下TIME_WAIT和CLOSE_WAIT状态的连接数的数量:
netstat -antlp|grep TIME_WAIT|wc -l
netstat -antlp|grep CLOSE_WAIT|wc -l
按照4个cpu,8G内存的规格CLOSE_WAIT数量达到2000左右就可能开始连接建立不上了,同时也可以抓包确认下,一般通过修改内核参数就可以解决。

被防火墙拦了吧.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题