有人可以推荐一个好的SFTP库吗?现在我正在寻找SecureBlackbox,IPWorks SSH,WodSFTP和Rebex SFTP等产品。但是,之前我从未使用过任何SFTP库,因此我不确定我在寻找什么。
如果有人以前使用过这些产品,我有什么理由选择产品“X”而不是“Y”吗?
答案 0 :(得分:78)
我已经四处搜索,发现this fork of SharpSSH和SSH.NET是SFTP最新且维护得最好的库(不要与{{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,非常棒。易于安装和使用。此外,当您遇到问题或问题时,他们的支持是一流的。