2011-11-11 45 views
24

可能重复:
How do I upload a file to an SFTP server in C#/.NET?如何使用SFTP在C#

不支持.NET SFTP

我不能找到任何样品。

+0

这不回答你的问题直接,因为它是对FTPS客户端,但它确实提供了FTP相关信息http://ftps.codeplex.com/一个有用的背景 –

+4

这不再是一个重复的旧问题被关闭为不具建设性 - 虽然我不明白为什么。 –

+1

SFTP不存在于.NET中。就个人而言,我使用的是http://www.componentpro.com/sftp.net/库。 – Peter

回答

3

我们成功地使用Rebex components(FTP,S-FTP,FTP-S)的,在我们的项目。不过,它们是商业化的。

+2

Rebex的东西真的很棒,他们的客户支持是顶尖的。当我不得不接入一个不符合当前FTPS标准的FTPS服务器时,他们创建了一个他们的组件版本,可以免费与其通话。 – starskythehutch

14

我们已经使用SharpSSH sftp,它运行良好,而且是开源的。

代码示例:

sftp = new Tamir.SharpSsh.Sftp(ipAddress, username, password); 
sftp.Connect(); 
sftp.Get(sourcePath, destinationPath); 
sftp.Close(); 
+1

sftp不好。首先,它不支持64位(不过,这是一些博客上的自定义)。第二,get文件不保留原始文件日期 – Eyalk

+19

我强烈建议使用http://sshnet.codeplex.com而不是SharpSSH。 SharpSSH似乎不再积极维护,并且相当粗糙。正因为如此,SSH.NET诞生了。 – Kaganar

+0

是否有任何可用于.NET的主动维护的SFTP客户端?我需要一个在.NET 4.5及更高版本下可靠的OpenSource库(根据sshnet.codeplex.com,它们只支持4.0)。 – Erik