用于.NET 的 SFTP 库

有人能推荐一个好的 SFTP 库来使用吗?目前我正在研究一些产品,比如 SecureBlackbox、 IPWorksSSH、 WodSFTP 和 RebexSFTP。然而,我以前从未使用过任何 SFTP 库,所以我不确定我在寻找什么。

如果以前有人用过这些,有什么理由我应该用产品“ X”而不是“ Y”?

192563 次浏览

我们买了一个 Rebex文件传输包,一切都很好。API 很简单,我们没有任何问题与通信,代理服务器等..。.

但是我没有机会将它与另一个 SFTP/FTPS 组件进行比较。

看看这个 http://www.tamirgal.com/home/dev.aspx?Item=sharpSsh

SharpSSH 是一个纯粹的.NET 实现 SSH2客户端协议套件 提供一个 API 与 SSH 服务器,可以集成到 任何.NET 应用程序。

该库是 JSch 的 C # 端口 该项目由 JCraft 公司负责 released under BSD style license.

SharpSSH 允许读/写数据 并通过 SSH 通道传输文件 使用类似于 JSch 的 API 此外,它还提供了一些额外的 包装类提供甚至 更简单的 SSH 抽象 沟通。

SharpSSH 项目页面: http://sourceforge.net/projects/sharpssh

中提供全面的 SFTP 支持。NET 尝试 EdtFTPnet/PRO。它支持许多不同的 SFTP 服务器已经有很长一段时间了。

我们还出售一个适用于 Windows 的 SFTP 服务器 完整的 FTP,这是一种在 Windows 机器上获得 SFTP 支持的廉价方法。还有 FTP 和 FTPS。

我们使用 WinSCP。免费的。它不是一个 lib,但是有一个文档化的、功能齐全的命令行界面,可以与 Process 一起使用。开始。

更新: 在 v. 5.0中,WinSCP 的脚本层使用了 一个.NET 包装器库

我已经使用 IP * 工程 SSH,它是伟大的。易于安装和使用。另外,当你遇到问题或困难时,他们的支持是最好的。

我使用 Chilkat 本地的 SFTP 库(http://www.chilkatsoft.com/ssh-sftp-component.asp)已经有几个月了,效果非常好。我每晚都用它下载大文件做私人密钥认证。我遇到的唯一问题是如何让64位版本在 Windows Server 2008上运行,我需要在我的服务器上安装 vcredist _ x64.exe (http://www.microsoft.com/download/en/details.aspx?id=14632)。

Bitvise 有一个很棒的产品叫做 Tunnelier,它可以将 FTP 和 SFTP 连接起来。然后,您可以在。NET.

Http://www.bitvise.com/ftp-bridge

我目前正在测试我自己的目的,并将更新我的发现。

更新

对于无人值守的自动化来说,这种想法并不理想,除非您希望跳过一些障碍,将客户机作为服务或其他东西连接起来,这是我通过使用 NSSM实现的。

我已经在不同的客户机上尝试过 CLI 自动化,包括 bitvise 和 winscp.com。我也试过这个。Net 类库: Winscp、 SSH.NET、 SharpSSH 和商业 SecureBlackBox SFTP 客户端。

SecureBlackBox 工作得很好,但是它非常重量级,根据许可的不同可能会非常昂贵,我不太同意它的 API。

毫无疑问,最好的免费 sftp 客户端。NET 开发是 Winscp。我已经编写了一些类和扩展方法来简化它的工作: Winscp 分机

我四处搜索了一下,发现 < a href = “ https://bitbucket. org/mattgwagner/Sharp ssh”rel = “ noReferrer”> 这个 SharpSSH 分支 SSH.NET是最新的、维护最好的 SFTP通信库(不要与 FTPS混淆)。NET.SSH.NET 是一个干净的。NET 4.0实现了 SFTP 协议,我已经在几个解决方案中使用了它,取得了巨大的成功。

原来的 SharpSsh似乎已经死了,大多数其他解决方案要么需要安装 Windows 可执行程序,要么需要大量现金(或者更糟,两者都需要)。