可编程,安全的FTP替换

时间:2008-09-02 09:06:04

标签: asp.net ftp

出于安全考虑,我们需要移除传统的FTP(它以未加密的方式传输密码)。我听说SSH被吹捧为明显的选择。但是,我一直在从ASP.NET程序界面驱动FTP,以自动化我的网站开发,这是一个非常高度的网络启用过程。

任何人都可以推荐一种安全的方式来传输具有我可以从ASP.NET驱动的程序界面的文件吗?

5 个答案:

答案 0 :(得分:4)

sharpssh通过scp实现发送文件。

答案 1 :(得分:3)

问题有三个问题:

1)选择安全传输协议

旧FTP的安全版本存在 - 它被称为FTP / SSL(普通旧的FTP over SSL加密通道)。也许您仍然可以使用旧的部署基础架构 - 只需检查它是否支持FTPS或FTP / SSL。

您可以在http://www.rebex.net/secure-ftp.net/页面查看有关FTP,FTP / SSL和SFTP差异的详细信息。

2)Windows的SFTP或FTP / SSL服务器

当您选择是使用SFTP还是FTPS时,您必须部署正确的服务器。对于FTP / SSL,我们在几台服务器上使用Gene6(http://www.g6ftpserver.com/)没有问题。有很多FTP / SSL Windows服务器,所以使用你想要的任何东西。使用Windows的SFTP服务器的情况有点复杂 - 只有少数工作实现。 Bitvise WinHTTPD看起来非常有前景(http://www.bitvise.com/winsshd)。

3)ASP.NET的Internet文件传输组件

解决方案的最后一部分是来自asp.net的安全文件传输。市场上有几个组件。我推荐Rebex File Transfer Pack - 它支持FTP(和FTP / SSL)和SFTP(SSH文件传输)。

以下代码显示了如何通过SFTP将文件上传到服务器。代码取自我们的Rebex SFTP tutorial page

// create client, connect and log in 
Sftp client = new Sftp();
client.Connect(hostname);
client.Login(username, password);

// upload the 'test.zip' file to the current directory at the server 
client.PutFile(@"c:\data\test.zip", "test.zip");

// upload the 'index.html' file to the specified directory at the server 
client.PutFile(@"c:\data\index.html", "/wwwroot/index.html");

// download the 'test.zip' file from the current directory at the server 
client.GetFile("test.zip", @"c:\data\test.zip");

// download the 'index.html' file from the specified directory at the server 
client.GetFile("/wwwroot/index.html", @"c:\data\index.html");

// upload a text using a MemoryStream 
string message = "Hello from Rebex SFTP for .NET!";
byte[] data = System.Text.Encoding.Default.GetBytes(message);
System.IO.MemoryStream ms = new System.IO.MemoryStream(data);
client.PutFile(ms, "message.txt");

马丁

答案 2 :(得分:1)

我们过去使用了this solution的变体,它使用SSH Factory for .NET

答案 3 :(得分:1)

FTP的传统安全替代版本为SFTP,但如果您对两个端点都有足够的控制权,则可以考虑使用rsync:它是高度可配置的,只需告诉它使用ssh即可获得安全性,并且更有效地保持两个地点同步。

答案 4 :(得分:0)

天儿真好,

您可能希望查看ProFPD

重度可定制。基于Apache模块结构。

从他们的网站:

  

ProFTPD源于对拥有安全且可配置的FTP服务器的渴望,并且出于对Apache Web服务器的极大钦佩。

我们使用我们的改编版本进行大规模的网络内容传输。通常每天更新300,000次。

HTH

欢呼声,

罗布