我被迫使用 SSH 隧道通过一个网关服务器访问许多服务器(超过 100 个)。为了保持连接,我使用了 autossh。一切都运行良好,直到出现高流量(人们同时连接到大多数服务器)。然后 ssh 进程达到 CPU 的 12%(这是单独进程配置的最大值),并且不再有连接工作 - 我必须重新启动 autossh 脚本。可能的原因是什么?
答案1
原因是您已达到允许使用的 CPU 数量上限。SSH 需要 CPU 密集型加密操作。基本上,您是在试图将十磅面粉放入五磅重的袋子中。
答案2
另一个选项是将到网关服务器的连接多路复用到单个服务器上。OpenSSH 支持此功能:您需要使用 ControlMaster 配置选项。以下是审查其优点和缺点。