关于asp.net:可编程,安全的FTP替换

关于asp.net:可编程,安全的FTP替换

Programmable, secure FTP replacement

为了安全起见,我们需要退出传统的FTP(它传输的密码未加密)。 我听说SSH被吹捧为显而易见的替代方案。 但是,我一直在从ASP.NET程序界面驱动FTP来自动化我的网站开发,现在这是一个高度支持Web的过程。

谁能推荐一种安全的方式来传输文件,该方式具有可以从ASP.NET驱动的程序界面?


sharpssh实现通过scp发送文件。


该问题包含三个子问题:

1)选择安全传输协议

存在旧版FTP的安全版本-称为FTP / SSL(通过SSL加密通道的纯旧版FTP)。也许您仍然可以使用旧的部署基础结构-只需检查它是否支持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文件传输包-它同时支持FTP(和FTP / SSL)和SFTP(SSH文件传输)。

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// 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");

马丁


FTP的传统安全替代方法是SFTP,但是如果您对两个端点都有足够的控制权,则可以考虑使用rsync:它是高度可配置的,仅通过告诉它使用ssh即可保证安全,并且保持两个位置同步的效率要高得多。


过去,我们使用了此解决方案的一种变体,该解决方案使用SSH Factory for .NET


G'day,

您可能想看看ProFPD。

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

从他们的网站:

ProFTPD grew out of the desire to have a secure and configurable FTP server, and out of a significant admiration of the Apache web server.

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

高温超导

干杯,


推荐阅读

    linux命令替换后门?

    linux命令替换后门?,系统,数据,工具,平台,工作,检测,最新,管理系统,通信,商

    linux退出程序命令?

    linux退出程序命令?,档案,管理,系统,命令,编辑,进程,模式,文件,程序,指令,lin

    linux如何命令退出?

    linux如何命令退出?,档案,状态,标准,命令,通讯,工具,系统,分析,实时,异常,lin

    在linux退出命令行?

    在linux退出命令行?,档案,状态,工作,信息,命令,系统,环境,编辑,文件,模式,lin

    linux替换文本的命令?

    linux替换文本的命令?,系统,地址,工作,信息,命令,标准,数据,内容,文件,字符

    linux命令被替换入侵?

    linux命令被替换入侵?,系统,密码,数据,合法,服务,检测,分析,网站,网络,异常,

    linux执行退出命令?

    linux执行退出命令?,档案,状态,工作,命令,信息,地址,电脑,系统,编辑,文件,lin

    linux逐级退出命令?

    linux逐级退出命令?,档案,状态,命令,系统,工具,实时,分析,信息,名字,编辑,lin

    linux下替换文件命令?

    linux下替换文件命令?,文件,一致,评论,名称,标的,资料,工作,命令,字符串,内

    linux退出目录命令行?

    linux退出目录命令行?,状态,地址,服务,工作,系统,设备,档案,命令,信息,电脑,l

    linux退出命令的用法?

    linux退出命令的用法?,档案,状态,工作,信息,地址,命令,系统,编辑,文件,模式,l

    linux命令行终端退出?

    linux命令行终端退出?,系统,状态,服务,平台,密码,环境,设备,终端,工具,命令,l

    linux退出查看命令?

    linux退出查看命令?,状态,工作,系统,地址,暂停,信息,命令,电脑,管理,代码,lin

    linux命令行更新密码?

    linux命令行更新密码?,密码,系统,名称,软件,信息,环境,命令,使用者,权限,用

    linux登录改密码命令?

    linux登录改密码命令?,密码,系统,名称,软件,状态,服务,信息,策略,环境,命令,

    linux用户退出命令行?

    linux用户退出命令行?,状态,档案,标准,系统,命令,文件,模式,编辑,指令,主机,l

    删除密码命令linux?

    删除密码命令linux?,密码,系统,管理,电脑,软件,百度,信息,名称,名字,命令,lin

    linux退出pig命令?

    linux退出pig命令?,数据,技术,地方,分析,设计,管理,平台,系统,位置,基础,怎样

    ab替换命令linux?

    ab替换命令linux?,名称,网络,地址,标准,命令,文件,信息,第一,数据,字符串,vim

    linux退出写入命令?

    linux退出写入命令?,时间,档案,命令,系统,文件,编辑,模式,内容,指令,程序,lin