SSH 连接限制

SSH 连接限制

我有一个由 100 台机器组成的网络,全部都装有 ubuntu Linux。

一台机器(同时)能连接多少台机器有限制吗?

例如,我可以让 99 台机器与第 100 台机器保持持续的 ssh 连接吗?我可以让每台机器(100 台中的每一台)与所有其他 99 台机器保持持续的 ssh 连接吗?

每个这样的连接占用多少内存?

答案1

总连接数主要受它们可以接入的端口数和系统容量的限制。有配置选项(Max_Sessions 和 Max_Startup),但它们仅适用于来自单个 IP 的连接数和并发请求的启动连接数...基本上它们是 DDOS 保护。

没有简单的方法可以知道一个连接将使用多少内存:这完全取决于流量。一个使用率极高的连接可能比 10,000 个无所事事的连接占用更多的资源。

话虽如此,在需要时建立连接,不需要时关闭连接几乎总是一个更好的主意。

答案2

我认为可以。我家里的盒子里通常有 3 个左右,办公室里最多有 10 个。这实际上只取决于你的电脑可以处理什么。

sshd_config 中有一些设置可能需要更改。以下是手册页。它位于/etc/ssh/sshd_config。默认值为 10。您需要增加此值。

我找到了这个资源讨论了如何增加最大值。下面是一些解释:

  • /proc/sys/net/core/somaxconn- 最大 TCP 连接数(SSH 通过 TCP 连接)
  • /proc/sys/net/core/netdev_max_backlog- 没什么大不了的,这是最大数据包队列

如果需要增加,您可以编辑这些数字。我的默认值somaxconn是 128,所以应该没问题。

编辑:

其他选择

将 websockets 与 NodeJS 结合使用。

这应该可以让你入门。如果你不想学习如何使用 websockets,只需向 web 服务器发送 HTTP Post 请求。它们没有太多开销,你可以通过这种方式发送大量数据。我个人会选择 websockets,因为它们是实时的,而且设置起来也不太难。

相关内容