用于.NET的SFTP库

时间:2009-02-09 22:25:41

标签: c# .net sftp

有人可以推荐一个好的SFTP库吗?现在我正在寻找SecureBlackbox,IPWorks SSH,WodSFTP和Rebex SFTP等产品。但是,之前我从未使用过任何SFTP库,因此我不确定我在寻找什么。

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

8 个答案:

答案 0 :(得分:78)

我已经四处搜索,发现this fork of SharpSSHSSH.NETSFTP最新且维护得最好的库(不要与{{3}混淆)在.NET中进行通信。 SSH.NET是SFTP协议的一个干净的.NET 4.0实现,我已经在几个解决方案中使用它,并且有很好的成功。

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

答案 1 :(得分:47)

我们使用WinSCP。免费。它不是一个lib,但有一个记录良好且功能齐全的命令行界面,可以与Process.Start一起使用。

使用v.5.0

更新,WinSCP与WinSCP的脚本层有a .NET wrapper library

答案 2 :(得分:9)

检查出来:http://www.tamirgal.com/home/dev.aspx?Item=sharpSsh

  

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

     

库是JSch的C#端口   来自JCraft Inc.的项目是   根据BSD风格许可证发布。

     

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

     

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

答案 3 :(得分:6)

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

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

答案 4 :(得分:5)

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

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

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

更新

这个想法对于无人值守的自动化来说并不理想,除非你想通过箍环保持客户端作为一项服务或某种东西连接,这是我使用NSSM完成的。

我尝试过各种客户端的CLI自动化,包括bitvise和winscp.com。我也尝试过这些.net类库:Winscp,SSH.NET,SharpSSH和商业SecureBlackBox SFTP客户端。

SecureBlackBox运行良好,但它非常重,根据授权可能相当昂贵,而且我对它的API不太满意。

请注意,用于.NET开发的最佳免费sftp客户端是winscp。我编写了一些类和扩展方法,以便更轻松地使用它:Winscp.Extensions

答案 5 :(得分:3)

我一直在使用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)。

答案 6 :(得分:0)

要获得.NET中全面的SFTP支持,请尝试edtFTPnet/PRO。很长一段时间以来,它支持许多不同的SFTP服务器。

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

答案 7 :(得分:0)

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