![sftp 并发连接](https://linux22.com/image/585480/sftp%20%E5%B9%B6%E5%8F%91%E8%BF%9E%E6%8E%A5.png)
我必须设置我的服务器以接收来自使用相同用户名的不同客户端的 20-30 个并发 sftp 连接。我尝试使用 scp 测试此模拟用户连接。
问题是第 8 个连接之后所有其他连接都会收到停滞通知。
1) 服务器上的哪些设置可以禁用任何传入连接;2) 是否有任何 iptables/网络设置可能导致这样的限制?除了所有这些传入连接之外,服务器还应处理大约 100 个并发 apache 用户。apache 端口 80 连接是否会与所有 sftp 上传连接冲突?
服务器是CentOS 5.8。
答案1
MaxSessions
增加和MaxStartups
的价值sshd_config
。
摘录自 : man sshd_config
:
MaxSessions
Specifies the maximum number of open sessions permitted per net-
work connection. The default is 10.
MaxStartups
Specifies the maximum number of concurrent unauthenticated con-
nections to the SSH 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(8) will refuse connection attempts with a
probability of ``rate/100'' (30%) if there are currently
``start'' (10) unauthenticated connections. The probability
increases linearly and all connection attempts are refused if the
number of unauthenticated connections reaches ``full'' (60).
答案2
有相当多的帖子关于“停滞的 scp 和 sftp 连接”,这似乎表明 scp 客户端可能贪婪于资源和网络,以至于干扰其他连接,因此有一个解决方法,即通过限制客户端对带宽的“抢占”来降低其攻击性;
scp -l 8192 SOURCE DESTINATION
如果该选项允许更多连接完成,那么您将寻找最终解决方案来处理每个客户端的每个连接资源。(您可能需要查看 iptables 速率限制或一些其他流量整形工具......)但首先您应该使用该选项运行一些测试,看看问题是否与网络资源争用直接相关。