3

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

这是我的观察:

  1. 在前 10 秒,只有 30 个客户端可以创建成功的连接。70 位客户被拒绝。
  2. 在接下来的 10 秒内,另外 30 个客户端可以创建成功的连接。40个被拒绝。
  3. 在接下来的 10 秒内,另外 30 个客户端可以创建成功的连接。10个被拒绝。
  4. 在接下来的 10 秒内,最后 10 个客户端可以创建成功的连接。

以下是我的问题:

  1. 是否可以一次成功建立 100 个安全连接?为了实现这一点,我需要修改哪个 SSH 参数(服务器端)?
  2. Python 有一个内置的 SSL 库。如果我使用 SSL 代替 SSH,我可以一次成功建立 100 个安全连接吗?

提前致谢

4

1 回答 1

4

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

好吧,我让你指定你正在使用哪个 ssh 服务器,但是由于你没有回应,我不得不假设你正在使用openssh.

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

指定与 SSH 守护程序的最大并发未验证连接数。其他连接将被丢弃,直到身份验证成功或LoginGraceTime连接过期。默认值为 10。

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

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

于 2013-05-24T16:13:26.777 回答