c# - 确保连接

标签 c# ssh sftp ssh.net

我正在使用 ssh.net 库与SFTP服务器通信。
在我的应用程序中,我必须下载大量文件并将其上传到服务器,因此必须多次打开和关闭连接。

我想知道打开单个连接并始终保持打开状态是否更好,只要完成操作然后仅关闭连接即可。如果我将连接保持一段时间会不会出现安全问题?每次需要从SFTP下载或上传文件时,打开和关闭连接可能会更好?

也许打开和关闭连接的效率更高(消耗更少的资源)?

最佳答案

最好使用单个SSH连接并坚持使用直到完成工作。

但是,如果您需要等待很长时间,例如为了处理中间的数据,您的连接可能仍会关闭。要确定这种情况是否合理check您的SSH服务器ServerAliveInterval

关于您的安全问题,与首先提供SSH相比,leaving a connection open并没有更多的风险。

一个更关键的问题是,SSH连接的可靠性如何。有时,一段时间后,ssh连接可能会挂起,或者隧道可能会发生故障。 autosshmonitor your tunnel有所帮助。

关于c# - 确保连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46960657/

相关文章:

c++ - 用于嵌入式 Linux 的良好简单 C/C++ FTP 和 SFTP 客户端库推荐

c# - 写入 Excel 文件时文件名或路径不存在或被其他程序使用

c# - 如何通过WinSCP检查SFTP session 中使用的加密算法?

c# - 当自定义控件的子项及其属性发生更改时,如何重新呈现自定义控件?

python - ssh 首先在 python 中使用 mysqldb

ssh - 尝试访问EC2实例超时的可能原因

php - 如何使用 phpseclib 设置自定义 SFTP 端口

python - SFTP 无法识别上传的文件

c# - 加密 WCF 连接的其他方法

c# - 将 ASP.NET 网站连接到 SQL 数据库