10 个同时连接后 ssh 端口转发冻结

10 个同时连接后 ssh 端口转发冻结

我正在使用端口转发来利用远程机器上的代理服务器。

远程机器主机名为remotemachine。代理正在监听 8118 端口。我正在将此端口转换为本地端口 5223。

ssh -vvv -N remotemachine -L 5223:localhost:8118

如果我使用的并发连接不超过 10 个,一切都会正常,这时 ssh 就会冻结。它不再通过端口转发发送数据。

ie 可以ab -c 10 -t 5 -X 'localhost:5223' 'http://www.google.ru/'工作,但ab -c 20 -t 5 -X 'localhost:5223' 'http://www.google.ru/'会导致 ssh 冻结

MaxSessions 30参数根本/etc/ssh/sshd_config没有帮助。

我该怎么做才能消除这个 10 个连接的限制?

输出中没有什么有趣的东西-vvv=(

答案1

仅供参考,我遇到了非常类似的问题,将 MaxSessions 增加到 100 解决了这个问题。我是这台服务器上唯一使用 SSH 的人,因此这个高限制对我来说不是问题。

答案2

您确定已正确设置本地转发吗?您的端口转发目标应该是remotemachine而不是 吗localhost

ssh -vvv -N remotemachine -L 5223:remotemachine:8188

答案3

在服务器上,查看 sshd_config 中的 MaxStartups。

从手册页中:

MaxStartups

     Specifies the maximum number of concurrent unauthenticated con-
     nections to the sshd daemon.  Additional connections will be
     dropped until authentication succeeds or the LoginGraceTime
     expires for a connection.  The default is 10.

     Alternatively, random early drop can be enabled by specifying the
     three colon separated values ``start:rate:full'' (e.g.,
     "10:30:60").  sshd will refuse connection attempts with a proba-
     bility of ``rate/100'' (30%) if there are currently ``start''
     (10) unauthenticated connections.  The probability increases lin-
     early and all connection attempts are refused if the number of
     unauthenticated connections reaches ``full'' (60).

答案4

我认为这是某种服务器配置。如果您建立两个隧道并通过两个隧道打开(例如)8 个连接,会发生什么情况,它会冻结(--> 整体服务器限制)还是不会冻结(--> 每个连接的限制)?

相关内容