120 votes

Librairies SFTP pour .NET

Est-ce que quelqu'un peut recommander une bonne bibliothèque SFTP à utiliser? En ce moment, je regarde des produits comme SecureBlackbox, IPWorks SSH, WodSFTP et Rebex SFTP. Cependant, je n'ai jamais utilisé aucune bibliothèque SFTP auparavant donc je ne sais pas ce que je cherche.

Si quelqu'un les a utilisés avant, y a-t-il une raison pour laquelle je devrais choisir le produit "X" plutôt que "Y"?

92voto

asbjornu Points 5042

J'ai cherché et j'ai trouvé que ce fork de SharpSSH et SSH.NET sont les bibliothèques les plus récentes et les mieux maintenues pour la communication SFTP (à ne pas confondre avec FTPS) en .NET. SSH.NET est une implémentation propre de .NET 4.0 du protocole SFTP, et je l'ai utilisée avec grand succès dans plusieurs solutions.

L'original SharpSsh semble être obsolète et la plupart des autres solutions nécessitent l'installation d'exécutables Windows ou un tas d'argent (ou pire encore ; les deux).

56voto

Jim Points 344

Nous utilisons WinSCP. C'est gratuit. Ce n'est pas une bibliotheque, mais il a une interface en ligne de commande bien documentée et complète que vous pouvez utiliser avec Process.Start.

Mise à jour: avec v.5.0, WinSCP dispose d'une bibliothèque enveloppante .NET à la couche de script de WinSCP.

8voto

GEOCHET Points 13787

Découvrez ceci : http://www.tamirgal.com/home/dev.aspx?Item=sharpSsh

SharpSSH est une implémentation pure de .NET du suite de protocoles client SSH2. Il fournit une API pour la communication avec des serveurs SSH et peut être intégré dans n'importe quelle application .NET.

La bibliothèque est un portage C# du projet JSch de JCraft Inc. et est publiée sous licence de type BSD.

SharpSSH vous permet de lire/écrire des données et de transférer des fichiers via des canaux SSH en utilisant une API similaire à celle de JSch. De plus, elle fournit quelques classes d'enrobage supplémentaires offrant une abstraction encore plus simple pour la communication SSH.

Page du projet SharpSSH sur source forge: http://sourceforge.net/projects/sharpssh

7voto

TcKs Points 13249

Nous avons acheté un Rebex File Transfer Pack, et tout va bien. L'API est facile, nous n'avons aucun problème avec les communications, les serveurs proxy, etc...

Mais je n'ai pas eu la chance de le comparer avec un autre composant SFTP/FTPS.

6voto

Ronnie Overby Points 11402

Bitvise a un excellent produit appelé Tunnelier qui peut relier FTP à SFTP. Vous pourriez ensuite utiliser FtpWebRequest standard dans .NET.

http://www.bitvise.com/ftp-bridge

Je teste actuellement ceci pour mes propres besoins et mettrai à jour avec mes résultats.

mise à jour

Cette idée n'est pas idéale pour l'automatisation non assistée, à moins que vous ne vouliez sauter à travers des obstacles en maintenant le client connecté en tant que service ou quelque chose du genre, ce que j'ai accompli en utilisant NSSM.

J'ai essayé l'automatisation en ligne de commande avec différents clients y compris bitvise et winscp.com. J'ai également essayé ces bibliothèques de classe .net: Winscp, SSH.NET, SharpSSH, et le client commercial SecureBlackBox SFTP.

SecureBlackBox a bien fonctionné, mais c'est très lourd, peut être assez cher selon la licence, et je n'étais pas tellement d'accord avec son API.

Sans aucun doute, le meilleur client sftp gratuit pour le développement .NET est winscp. J'ai écrit quelques classes et méthodes d'extension pour faciliter le travail avec lui : Winscp.Extensions

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X