2011-11-11 86 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