我正在寻找免费的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.");
答案 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中完成它。