从Windows客户端应用程序管理远程* UNIX服务器上的文件的方法

时间:2009-03-13 12:25:05

标签: c# mysql web-services ssh webdav

我的Windows客户端应用程序(用C#编写)适用于部署在* NIX服务器上的远程MySQL数据库。

我将添加在服务器上存储文件的功能。我从不喜欢在DB中存储文件,因此文件将存储在文件系统中。该应用程序需要从服务器上传,下载和删除文件。

我能想到的任何方法都需要在服务器上部署额外的服务。 到目前为止,我最喜欢的是SFTP *,但还有其他解决方案是IMO的劣势:

  1. 网络服务 - 有吗?没有在这方面做过任何研究。

  2. FTP服务器 - 至少带来与协议本身相关的所有问题

  3. WebDAV - 有趣的选择,考虑到Apache模块和.NET库

  4. 一些临时脚本(显然是最糟糕的解决方案)

  5. *我打算使用SharpSSH库和公钥认证来访问服务器上的特殊帐户,该帐户仅限于SSH操作

    编辑:纠正了一些术语混淆,多亏了@vartec

3 个答案:

答案 0 :(得分:1)

SCP功能相当有限。 SFTPFISH比普通的SCP给你更多。 (请注意,SFTP不应与FTPS

混淆

Example of SFTP C# implementation

优于其他选项 - 无需在服务器端进行额外配置。

答案 1 :(得分:1)

我会在* NIX服务器端使用vsftpd:它很小且易于配置,而且我没有遇到任何问题,因为我最初在6个月前设置它所以它也是可靠的。我只是使用常规FTP,但如果您担心安全问题,可以使用vsftpd进行SSL。

在客户端,有free, open source, FTP Client Library for C# made by Dan at C-SharpCorner.com。它很有用,并且很容易扩展其功能以执行更多操作。例如,我添加了一个用于更改远程服务器上文件权限的函数。

答案 2 :(得分:0)

putty和winscp就是你所需要的。