Comment communiquer avec le serveur SFTP
J'ai écrit un service pour nos clients qui transmet automatiquement les fichiers vers des destinations à l'aide de FTP. Pour des raisons historiques, je suis en utilisant WinInet pour effectuer les via ftp. Tous fonctionne bien, mais maintenant, le client veut ajouter une destination qui n'accepte que les connexions SFTP.
Je n'aime pas vraiment l'idée de la mise en œuvre de ce partir de zéro, donc est-il un moyen de communiquer en mode natif ou par l'intermédiaire de WinInet avec un serveur SFTP? Il n'existe aucun système de bibliothèques que je peux l'utiliser (je n'ai pas peur de P/Invoke 🙂 )? Dois-je acheter les composants tiers pour que - le cas échéant, pourriez-vous proposer?
Eh bien, il n'y a qu'un SFTP. L'autre est appelé le PTS.
Oh, j'en suis désolé. FTP SÉCURISÉ, pas de FTP SIMPLE.
OriginalL'auteur Thorsten Dittmar | 2009-12-10
Vous devez vous connecter pour publier un commentaire.
Malheureusement, SFTP n'est pas pris en charge nativement par WinInet ou toute autre norme des bibliothèques de Windows.
J'ai eu de la chance avec /n Logiciel IP*Works SSH .NET en parlant à une grande variété de serveurs SFTP.
OriginalL'auteur mdb
Il n'y a pas de support pour le protocole SFTP .NET framework, dans n'importe quelle version.
Vous devez utiliser une bibliothèque tierce pour SFTP.
Vous pouvez utiliser WinSCP .NET de l'assemblée. Il y a même un WinSCP package NuGet.
Trivial SFTP télécharger exemple en C#:
Il y a beaucoup d'autres exemples.
Vous pouvez avoir WinSCP GUI générer un SFTP modèle de code, comme ci-dessus, pour vous, y compris C#, VB.NET et PowerShell.
L'assemblée est juste un wrapper autour de WinSCP script, il n'est donc pas complètement natif .NET code. Comme tel, il ne convient pas à tous les cas d'utilisation .NET framework. Il est surtout adapté pour l'automatisation de tâches, un peu pour le développement d'applications graphiques, et pas vraiment pour les applications web.
Pour un natif .NET SFTP bibliothèque, consultez SSH.NET, qui est étrangement pas mentionné dans aucune réponse pour l'instant.
(Je suis l'auteur de WinSCP)
OriginalL'auteur Martin Prikryl
J'ai créé une démo d'interactions avec SFTP server à l'aide de WinSCP.
Cette application est capable de télécharger, supprimer, renommer et de chercher de l'info de système de fichiers dans un Serveur SFTP à l'aide de WinSCP .NET de l'Assemblée.
Prendre un coup d'oeil à:
https://github.com/ducfilan/SFTP-with-WinSCP
OriginalL'auteur Duc Filan
l' .NET Framwork prend en charge FTP via le FtpWebRequest depuis la version 2.0. Pas de support pour SFTP encore.
Si vous avez besoin de FTP et SFTP vous devez essayer un tiers de la composante. Il y a un implémentation open source de SFTP de Tamir Gal qui est souvent recommandé. Ou vous pouvez essayer un de commercial SFTP composants tels que notre Rebex SFTP.
Code suivant est tiré de Rebex SFTP page du tutoriel:
Si vous n'êtes pas sûr de savoir si vous aurez besoin d'FTPS ou SFTP vous pouvez vérifier l' Rebex De Transfert De Fichiers Pack qui comprend à la fois. Le FTP de l'API est presque identique à la SFTP.
OriginalL'auteur Martin Vobr
JFYI: probablement la plus riche en fonctionnalités des composants pour SFTP .NET est notre SFTPBlackbox.
OriginalL'auteur Eugene Mayevski 'Allied Bits
http://sourceforge.net/projects/sharpssh/ pourrait être votre meilleur le meilleur. J'ai fini par écrire des scripts pour WinSCP mais, ce qui était plus facile...
MODIFIER pour plus de clarté, je vous recommande de quelque chose comme https://github.com/sshnet/SSH.NET maintenant que SharpSSH est un projet mort
Je l'ai utilisé et de l'amour. Le recommande sans hésitation.
Détachant @Walter de sa demande. C'est une grande bibliothèque.
SharpSSH est un projet mort.
ouais, de retour en 2009, il a été en plein essor... voire peut-être que j'avais utiliser les github.com/sshnet/SSH.NET, qui semble mature/maintenu. Mais qui utilise SFTP ces jours-ci?
OriginalL'auteur davewasthere
- Je utiliser edtFTPnet/PRO
http://www.enterprisedt.com/products/edtftpnetpro/overview.html
fonctionne très bien
OriginalL'auteur quimbo