我正在使用python的客户端应用程序。 GUI使用PyQt
创建。
基本上,应用程序通过ssh
连接到服务器并检索信息,从而读取服务器软件生成的文件。我正在使用paramko
模块。
我的问题是:
我应该在客户端应用程序启动时打开ssh
连接权并保持直到它退出?或者,只要客户端应用程序中的按钮触发信息检索,我就应该创建一个新的ssh
连接?
它会如何影响性能?
任何建议和参考将受到高度赞赏。
答案 0 :(得分:0)
您需要在需要时打开 SSH 连接。信息检索后关闭连接。以下是一些原因:
1)通常,大多数服务器与sshd daemon
的连接数有限。在身份验证成功或LoginGraceTime
到期之前,将删除其他连接。默认值为10.它称为MaxStartups
。此设置确定未经身份验证的SSH连接尝试的最大数量。在高并发环境中,值太低会导致SSH连接错误。这意味着如果同时运行多个客户端可能会失败。
2)MaxSessions
确定每个网络连接允许的最大打开shell会话数。
3)正如上面提到的Sagan Pariyar,打开SSH
端口会增加服务器负载。
4)打开SSH
端口可能是一个高风险的服务器安全问题。
了解详情:
答案 1 :(得分:-1)
每当你有ssh到服务器1端口是从两侧阻塞,如果你在客户端启动时有连接,那么它将阻塞该端口,没有人可以与服务器通信,你也增加服务器负载只是保持连接打开。 因此,我的建议是在需要时启动ssh,并在任务完成后停止。