SSH:我怎么知道并发限制?

时间:2013-05-23 11:24:29

标签: python ssl ssh

为了测试SSH服务器,我在客户端创建了一个测试程序(在python中)。测试程序将生成100个进程,每个进程将与服务器建立SSH连接。任何失败的尝试都将等待10秒钟并重试。

以下是我的观察:

  1. 在前10秒内,只有30个客户端可以创建成功的连接。 70名客户被拒绝。
  2. 在接下来的10秒钟内,另外30个客户端可以创建成功的连接。 40人被拒绝。
  3. 在接下来的10秒钟内,另外30个客户端可以创建成功的连接。 10人被拒绝。
  4. 在接下来的10秒内,最后10个客户端可以创建成功的连接。
  5. 以下是我的问题:

    1. 是否有可能一次成功获得100个安全连接?我需要修改哪个SSH参数(服务器端)才能实现此目的?
    2. Python有一个内置的SSL库。如果我使用SSL替换SSH,我可以一次性成功获得100个安全连接吗?
    3. 提前致谢

1 个答案:

答案 0 :(得分:4)

  

我想一次登录100个并发连接。我需要修改哪些SSH参数?

好吧,我请你指定你使用的ssh服务器,但由于你没有回复,我将不得不假设你正在使用openssh

我可以看到的唯一sshd_config(5)配置参数可能会影响您可以“同时”进行的连接数量MaxStartups,文档会说这些参数...

  

指定最大并发未经身份验证的连接数   到SSH守护进程。其他连接将被删除,直到   身份验证成功或LoginGraceTime到期   连接。默认值为10.

     

或者,可以通过指定随机的早期丢弃来启用   三个冒号分隔值“start:rate:full”(例如“10:30:60”)。   sshd(8)将拒绝连接尝试的概率为   “rate / 100”(30%)如果当前“start”(10)未经身份验证   连接。概率线性增加并且所有连接都增加   如果未经身份验证的连接数,则拒绝尝试   达到“满”(60)。

...因此您可能必须将该值设置为至少100。