客户端应用程序与服务器的连接

Client application's connectivity with server

我正在使用 python 开发客户端应用程序。使用 PyQt 创建 GUI。 基本上,应用程序通过 ssh 连接到服务器并检索信息,从而读取服务器软件生成的文件。我正在使用 paramko 模块。

我的问题是:

我是否应该在客户端应用程序启动时打开一个 ssh 连接并一直保持到它退出?或者我应该在客户端应用程序中的按钮触发信息检索时创建一个新的 ssh 连接? 它会如何影响性能? 任何建议和参考将不胜感激。

每当你通过 ssh 连接到服务器 1 端口时,如果你在客户端启动时有连接,那么它将阻止该端口并且没有人可以与服务器通信,并且你增加了服务器负载只是保持连接打开。 因此,我的建议是在需要时启动 ssh,并在任务完成后停止。

您应该在需要时打开 SSH 连接,并在信息检索后关闭连接。以下是一些原因:

1) 通常大多数服务器与 sshd daemon 的连接数有限。其他连接将被删除,直到身份验证成功或连接的 LoginGraceTime 过期。默认为10。它被称为MaxStartups。此设置确定未经身份验证的 SSH 连接尝试的最大次数。在高并发环境中,该值太低会导致 SSH 连接错误。这意味着如果多个客户端 运行 同时失败。

2) MaxSessions 确定每个网络连接允许打开的最大 shell 会话数。

3) 正如Sagan Pariyar 上面提到的,打开SSH 端口会增加服务器负载。

4) 打开 SSH 端口可能是一个高风险的服务器安全问题。

阅读更多: