谁能推荐一个好的SFTP库使用?现在,我正在研究诸如SecureBlackbox,IPWorks SSH,WodSFTP和Rebex SFTP之类的产品。但是,我以前从未使用过任何SFTP库,因此不确定我要寻找的内容。
如果以前有人使用过这些产品,那么为什么我应该选择产品“ X”而不是“ Y”呢?
谁能推荐一个好的SFTP库使用?现在,我正在研究诸如SecureBlackbox,IPWorks SSH,WodSFTP和Rebex SFTP之类的产品。但是,我以前从未使用过任何SFTP库,因此不确定我要寻找的内容。
如果以前有人使用过这些产品,那么为什么我应该选择产品“ X”而不是“ Y”呢?
Answers:
我到处搜寻,发现 SharpSSH的这个分叉和SSH.NET是.NET中用于SFTP(不要与FTPS混淆)通信的最新和维护最好的库。SSH.NET是SFTP协议的一个干净的.NET 4.0实现,我已经在一些解决方案中使用了它,取得了巨大的成功。
原本的 夏普 似乎已经死了,大多数其他解决方案要么需要安装Windows可执行文件,要么需要大量现金(或更糟的是,两者都有)。
我们使用WinSCP。免费。它不是一个库,但具有可用于Process.Start的文档完善且功能齐全的命令行界面。
更新:在v.5.0中,WinSCP 对WinSCP的脚本层具有.NET包装器库。
检查一下: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通信提供了更简单的抽象。
源伪造的SharpSSH项目页面:http: //sourceforge.net/projects/sharpssh
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
我已经使用Chilkat的本地SFTP库(http://www.chilkatsoft.com/ssh-sftp-component.asp)了几个月,并且运行良好。在每晚的工作中使用它来下载大文件并进行私钥身份验证。我遇到的唯一问题是要在Windows Server 2008上运行64位版本,我需要在服务器上安装vcredist_x64.exe(http://www.microsoft.com/download/en/details.aspx?id=14632) 。
有关.NET中全面的SFTP支持,请尝试edtFTPnet / PRO。支持许多不同的SFTP服务器已有很长时间了。
我们还出售用于Windows的SFTP服务器CompleteFTP,这是一种在Windows计算机上获得对SFTP支持的廉价方法。也有FTP和FTPS。