我正在使用端口转发来利用远程机器上的代理服务器。
远程机器主机名为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 个连接,会发生什么情况,它会冻结(--> 整体服务器限制)还是不会冻结(--> 每个连接的限制)?