【发布时间】:2017-10-27 23:38:13
【问题描述】:
我正在使用 ssh.net 库与 SFTP 服务器通信。 在我的应用程序中,我必须下载大量文件并将其上传到服务器。所以我必须多次打开和关闭连接。
我想知道是否最好打开单个连接并始终保持打开状态,只要我完成我的操作然后只关闭连接。如果我保持连接打开一段时间会出现安全问题吗?如果每次需要从 SFTP 下载或上传文件时打开和关闭连接会更好?
也许连接打开和关闭更高效(消耗资源更少)?
【问题讨论】:
我正在使用 ssh.net 库与 SFTP 服务器通信。 在我的应用程序中,我必须下载大量文件并将其上传到服务器。所以我必须多次打开和关闭连接。
我想知道是否最好打开单个连接并始终保持打开状态,只要我完成我的操作然后只关闭连接。如果我保持连接打开一段时间会出现安全问题吗?如果每次需要从 SFTP 下载或上传文件时打开和关闭连接会更好?
也许连接打开和关闭更高效(消耗资源更少)?
【问题讨论】:
可以说最好使用单个 SSH 连接并坚持使用它,直到您的工作完成。
但是,如果您必须等待很长时间,例如要处理中间的数据,您的连接可能会关闭。确定这样的场景是否合理check你的SSH服务器ServerAliveInterval。
考虑到您的安全问题,leaving a connection open 的风险并不比一开始就使用 SSH 的风险大。
一个更关键的问题是,您的 SSH 连接有多可靠。有时,一段时间后,ssh 连接可能会挂起,或者隧道可能会中断。 autossh 帮助monitor your tunnel。
【讨论】: