如何将安全FTP功能添加到.NET应用程序

时间:2009-03-30 20:00:15

标签: .net asp.net-mvc ftp sftp

我正在将内部客户端 - 服务器应用程序重写为.NET MVC应用程序。它需要通过安全的FTP发送和接收文件。原始应用程序是客户端 - 服务器,并使用MOVEit Freely来执行SFTP。是否有可以在.NET中使用的库或产品?

8 个答案:

答案 0 :(得分:3)

答案 1 :(得分:2)

只需使用内置的FtpWebRequestFtpWebResponse类。

答案 2 :(得分:2)

看一下SharpSSH,我知道他们支持sftp,不知道写服务器端有多难。

答案 3 :(得分:2)

我们的Rebex File Transfer Pack支持安全FTP的两种变体 - SFTP和FTPS(FTP / SSL)。

答案 4 :(得分:2)

如果您不想支付任何费用,您可以轻松地使用内置FtpWebRequest进行vanilla FTP和FTPES(使用SSL的显式FTP)。对于FTPS(隐式FTP + SSL),我建议Alex FTPS Client。最后,对于SFTP(FTP over SSH),您可以使用SharpSSH。这种方法并不适合所有人 - 它只适合廉价滑冰。但是,我一直在使用这个组合来满足生产环境中的所有数据传输需求,而且效果很好。产品陈旧,但协议稳定,所以谁在乎。

答案 5 :(得分:1)

查看edtFTPnet/PRO,它提供了对.NET中SFTP的完全支持。

您可能还想查看CompleteFTP,这是一个适用于Windows平台的快速,紧凑的SFTP服务器(它还支持FTP和FTPS)。

我可能会补充一点,使用术语“安全FTP”可能会让人感到困惑。它可以表示SFTP,它是一种通过SSH运行的安全文件传输协议。或者它可能意味着FTPS,它基本上是通过SSL连接运行的标准FTP命令。

答案 6 :(得分:0)

这在.NET中是原生的。您想要的类位于System.Net命名空间中。看看FtpWebRequest和FtpWebResponse类。快乐的编码:)

答案 7 :(得分:0)

我参与了自由创作MOVEit。它从来没有通过SSH支持SFTP - 它只支持FTP / S.它最初的角色是成为微软FTP.exe客户端的“插入式”命令替换 - 并支持SSL / TLS。

MOVEit Freely最初构建于Dundas FTP / S堆栈之上,但随着FTP / S的发展,我们对原始源代码进行了大量修改。 (我们得到了一点早。)现在Dundas专注于Dashboard组件,我们与Dundas签署的许可协议表示我们永远不会根据代码发布独立的FTP / S组件。 (这是那种OEM许可证的标准。)换句话说,我会查看上面提到的一个基于Windows的建议。 (我推荐来自\ n软件的组件,以及Windows上的Rebex产品。)