Bibliothèques SFTP pour .NET

Quelqu’un peut-il recommander une bonne bibliothèque SFTP à utiliser? En ce moment, je regarde des produits tels que SecureBlackbox, IPWorks SSH, WodSFTP et Rebex SFTP. Cependant, je n’ai jamais utilisé de bibliothèque SFTP auparavant, donc je ne suis pas sûr de ce que je recherche.

Si quelqu’un l’a déjà utilisé, y a-t-il une raison pour laquelle je devrais aller avec le produit “X” plutôt que “Y”?

J’ai cherché et trouvé que ce fork de SharpSSH et SSH.NET est la bibliothèque la plus à jour et la mieux maintenue pour la communication SFTP (à ne pas confondre avec FTPS ) dans .NET. SSH.NET est une implémentation propre du protocole SFTP .NET 4.0 et je l’ai utilisée avec quelques solutions shinyes et avec un grand succès.

La version originale de SharpSsh semble être morte et la plupart des autres solutions nécessitent l’installation d’exécutables Windows ou un lot d’argent (ou pire, les deux).

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

Mise à jour: avec v.5.0, WinSCP possède une bibliothèque d’encapsuleurs .NET pour la couche de script de WinSCP.

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

SharpSSH est une implémentation pure .NET de la suite de protocoles client SSH2. Il fournit une API pour la communication avec les serveurs SSH et peut être intégré à toute application .NET.

La bibliothèque est un port C # du projet JSch de JCraft Inc. et est disponible sous licence BSD.

SharpSSH vous permet de lire / écrire des données et de transférer des fichiers sur des canaux SSH en utilisant une API similaire à celle de JSch. De plus, il fournit des classes wrapper supplémentaires qui offrent une abstraction encore plus simple pour la communication SSH.

Page du projet SharpSSH à la source: http://sourceforge.net/projects/sharpssh

Nous avons acheté un pack de transfert de fichiers Rebex , et tout va bien. L’API est simple, nous n’avons aucun problème avec les communications, les serveurs proxy, etc.

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

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

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

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

mettre à jour

Cette idée n’est pas idéale pour une automatisation sans surveillance, à moins que vous ne souhaitiez passer au travers de cerceaux pour garder le client connecté en tant que service ou autre, ce que j’ai accompli en utilisant NSSM .

J’ai essayé l’automatisation CLI avec divers clients, y compris bitvise et winscp.com. J’ai également essayé ces bibliothèques de classes .net: Winscp, SSH.NET, SharpSSH et le client commercial SecureBlackBox SFTP.

SecureBlackBox a bien fonctionné, mais il est très lourd, peut-être très coûteux selon les licences, et je ne suis 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: Winscp.Extensions

J’utilise la bibliothèque SFTP native de Chilkat ( http://www.chilkatsoft.com/ssh-sftp-component.asp ) depuis quelques mois maintenant et cela fonctionne très bien. L’utiliser dans un travail de nuit pour télécharger des fichiers volumineux et effectuer une authentification par clé privée. Seul problème que j’avais était d’obtenir la version 64 bits pour fonctionner sur Windows Server 2008, j’avais besoin d’installer vcredist_x64.exe ( http://www.microsoft.com/download/en/details.aspx?id=14632 ) sur mon serveur .

Pour un support complet du SFTP dans .NET, essayez edtFTPnet / PRO . Il existe depuis longtemps un support pour de nombreux serveurs SFTP différents.

Nous vendons également un serveur SFTP pour Windows, CompleteFTP , qui est un moyen peu coûteux d’obtenir une assistance pour SFTP sur votre machine Windows. A également FTP et FTPS.

J’ai utilisé IP * Works SSH et c’est génial. Facile à configurer et à utiliser. De plus, leur support est de premier ordre lorsque vous rencontrez des questions ou des problèmes.