背景: OpenSSH的默认设置MaxStartups
是 10:30:60,大多数 Linux 发行版都保持这个默认设置。这意味着在 sshd 开始丢弃 30% 的新传入连接之前,一次只能有 10 个 ssh 连接正在交换密钥和进行身份验证,并且在 60 个未经身份验证的连接时,所有新连接都将被丢弃。建立连接后,将不计入此限制。参见例如这个问题。
问题:我正在使用 GNU 并行在大量后端节点上运行一些繁重的数据处理。我需要通过单个前端机器访问这些节点,并且我正在使用 ssh:sProxyCommand
设置隧道以透明地访问后端。但是,我一直在达到最大未经身份验证的连接限制,因为并行生成的 ssh 连接比前端可以一次验证的要多。
我尝试过ControlMaster auto
重用与前端的单个连接,但没有运气。
问题:如何限制打开新 ssh 连接的速率?我可以控制在给定时间打开多少未经身份验证的连接,并延迟新连接直到另一个连接通过身份验证?