我正在使用 ssh.net 库与SFTP服务器通信。
在我的应用程序中,我必须下载大量文件并将其上传到服务器,因此必须多次打开和关闭连接。
我想知道打开单个连接并始终保持打开状态是否更好,只要完成操作然后仅关闭连接即可。如果我将连接保持一段时间会不会出现安全问题?每次需要从SFTP下载或上传文件时,打开和关闭连接可能会更好?
也许打开和关闭连接的效率更高(消耗更少的资源)?
最佳答案
最好使用单个SSH连接并坚持使用直到完成工作。
但是,如果您需要等待很长时间,例如为了处理中间的数据,您的连接可能仍会关闭。要确定这种情况是否合理check您的SSH服务器ServerAliveInterval
。
关于您的安全问题,与首先提供SSH相比,leaving a connection open并没有更多的风险。
一个更关键的问题是,SSH连接的可靠性如何。有时,一段时间后,ssh连接可能会挂起,或者隧道可能会发生故障。 autossh
对monitor your tunnel有所帮助。
关于c# - 确保连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46960657/