119

谁能推荐一个好的 SFTP 库来使用?现在,我正在研究 SecureBlackbox、IPWorks SSH、WodSFTP 和 Rebex SFTP 等产品。但是,我以前从未使用过任何 SFTP 库,所以我不确定我在寻找什么。

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

4

8 回答 8

92

我四处搜寻,发现SharpSSH 的这个分支SSH.NET是 .NET 中用于SFTP(不要与FTPS混淆)通信的最新且维护最好的库。SSH.NET 是一个干净的 .NET 4.0 实现的 SFTP 协议,我已经在几个解决方案中使用了它,并取得了巨大的成功。

原本的SharpSSH似乎已经死了,大多数其他解决方案要么需要安装 Windows 可执行文件,要么需要大量现金(或者更糟;两者都有)。

于 2012-04-24T11:13:37.467 回答
56

我们使用 WinSCP。免费。它不是一个库,但有一个文档齐全且功能齐全的命令行界面,您可以将其与 Process.Start 一起使用。

更新:在 v.5.0 中,WinSCP为 WinSCP 的脚本层提供了一个 .NET 包装库。

于 2010-04-07T20:09:33.350 回答
8

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

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

该库是 JCraft Inc. 的 JSch 项目的 C# 端口,并在 BSD 样式许可下发布。

SharpSSH 允许您使用类似于 JSch 的 API 的 API 通过 SSH 通道读取/写入数据和传输文件。此外,它还提供了一些额外的包装类,这些类为 SSH 通信提供了更简单的抽象。

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

于 2009-02-09T22:36:55.397 回答
7

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

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

于 2009-02-09T22:29:21.330 回答
6

Bitvise 有一个很棒的产品,叫做 Tunnelier,它可以将 FTP 桥接到 SFTP。然后,您可以在 .NET 中使用标准的 FtpWebRequest。

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

我目前正在出于自己的目的对此进行测试,并将根据我的发现进行更新。

更新

这个想法对于无人值守的自动化来说并不理想,除非你想跳过箍,保持客户端作为服务或其他东西连接,我通过使用NSSM实现了这一点。

我已经尝试使用包括 bitvise 和 winscp.com 在内的各种客户端进行 CLI 自动化。我还尝试过这些 .net 类库:Winscp、SSH.NET、SharpSSH 和商业 SecureBlackBox SFTP 客户端。

SecureBlackBox 运行良好,但它非常重量级,根据许可可能相当昂贵,而且我不太同意它的 API。

毫无疑问,用于 .NET 开发的最佳免费 sftp 客户端是winscp。我编写了一些类和扩展方法以使其更容易使用:Winscp.Extensions

于 2012-02-07T17:19:41.783 回答
4

几个月来,我一直在使用 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 ) .

于 2012-01-03T03:46:30.167 回答
0

我用过 IP*Works SSH,它很棒。易于安装和使用。此外,当您遇到问题或问题时,他们的支持是一流的。

于 2011-11-21T19:16:39.513 回答
0

要在 .NET 中获得全面的 SFTP 支持,请尝试edtFTPnet/PRO。支持许多不同的 SFTP 服务器已经存在很长时间了。

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

于 2009-05-19T02:32:42.183 回答