带有dll的免费SFTP客户端,用C#上传和下载文件

时间:2010-07-20 21:40:45

标签: c# .net ftp client sftp

我正在寻找免费的SFTP客户端。它还应该有一个免费的dll,我可以使用它编写代码来上传和下载C#(.NET框架)文件。

例如以下代码不是免费的,它有30天免费评估,我想免费,

Chilkat.SFtp sftp = new Chilkat.SFtp();

bool success;
success = sftp.UnlockComponent("Anything for 30-day trial");

sftp.ConnectTimeoutMs = 5000;
sftp.IdleTimeoutMs = 10000;

int port;
string hostname;
hostname = "www.my-ssh-server.com";
port = 22;
success = sftp.Connect(hostname,port);

success = sftp.AuthenticatePw("myLogin","myPassword");

success = sftp.InitializeSftp();

string handle;
handle = sftp.OpenFile("hamlet.xml","readOnly","openExisting");

success = sftp.DownloadFile(handle,"c:/temp/hamlet.xml");

success = sftp.CloseHandle(handle);
MessageBox.Show("Success.");

3 个答案:

答案 0 :(得分:6)

我目前正在使用SharpSSH,它是免费的,并且有一个非常好的简单界面。 SharpSSH sourcefoge page.它具有您提到的所有身份验证功能。

您可以在C#中执行此操作:

var sftp = new Sftp(hostName, userName, password);
sftp.Connect(port);
sftp.Put(putFilePath, toDir);
sftp.Get(getFilePath);

答案 1 :(得分:4)

建议您查看https://nuget.org/packages/SSH.NET

我认为它比sharp.ssh更新,适用于通过sftp传输文件。

答案 2 :(得分:2)

您可能需要查看WinSCP。虽然它不是一个库,但你可以编写脚本来驱动它,链接是一个很好的教程,向你展示如何在C#和Visual Basic中完成它。

相关问题