2010-07-20 12 views
7

Je suis à la recherche d'un client SFTP gratuit. En outre, il devrait avoir une DLL gratuite à l'aide de laquelle je peux écrire du code pour télécharger et télécharger le fichier en C# (framework .NET).Client SFTP gratuit avec dll pour télécharger et télécharger le fichier en C#

Par exemple le code suivant n'est pas gratuit, il dispose de 30 jours d'évaluation gratuite, je veux gratuitement,

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

http://stackoverflow.com/questions/1753709/implementing-sftp-in-2-0 http://stackoverflow.com/questions/530330/sftp-libraries-for-net –

Répondre

6

J'utilise actuellement SharpSSH qui est gratuit et dispose d'une interface facile très agréable. SharpSSH sourcefoge page. Il a toutes les fonctionnalités d'authentification que vous avez mentionnées.

Vous pouvez le faire en C#:

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

Vous pouvez jeter un oeil à WinSCP. Bien que ce ne soit pas une bibliothèque, vous pouvez écrire des scripts pour le conduire et le lien est un bon tutoriel qui vous montre comment le faire dans C# et Visual Basic.

+1

De nos jours, WinSCP a [WinSCP. NET assembly] (http://winscp.net/eng/docs/library) en tant que wrapper .NET autour de l'interface de script WinSCP. –

4

recommanderai à jeter un oeil à https://nuget.org/packages/SSH.NET

Je pense qu'il est plus à jour que sharp.ssh, fonctionne bien pour la transmission de fichiers via SFTP.