web-dev-qa-db-fra.com

Différences entre SFTP et "FTP sur SSH"

En cherchant un client SFTP dans SFTP (C # SSH File Transfer Protocol), je suis tombé sur ces deux projets appropriés - n et deux .

En essayant de comprendre les bases, je suis tombé sur cette confusion article Wikipedia . Quelle est la différence entre SFTP et FTP sur SSH? Aucune bibliothèque ne semble prendre en charge "FTP sur SSH", si elle est différente.

46
sundar venugopal

Voici la différence:

  • SFTP (protocole de transfert de fichiers SSH) est un protocole qui offre des capacités de transfert et de manipulation de fichiers. Il peut fonctionner sur n'importe quel flux de données fiable, mais est généralement utilisé avec SSH
  • "FTP sur SSH" utilise l'ancien protocole FTP classique, mais un tunnel SSH est placé entre le client et le serveur.

Vous ne trouverez probablement pas de bibliothèques pour "FTP sur SSH" car généralement le tunnel est configuré en exécutant une commande SSH, et une fois qu'il est configuré, les clients et les serveurs n'ont pas besoin de connaître le tunnel; ils ouvrent simplement les ports et transfèrent les données comme ils le feraient sans tunnel.

BTW, encore une autre option pour vous pourrait être FTP sur SSL (FTPS) , qui est pris en charge par .NET. (Voir http://msdn.Microsoft.com/en-us/library/system.net.ftpwebrequest.enablessl.aspx .)

52
Kristopher Johnson

Fondamentalement, il existe les protocoles de transfert de fichiers suivants:

  • FTP - l'ancien protocole FTP qui existe depuis les années 1970. L'acronyme signifie "File Transfer Protocol". Il s'exécute généralement sur TCP port 21.

  • SFTP - un autre protocole de transfert de fichiers complètement différent qui n'a rien à voir avec FTP. SFTP s'exécute sur une session SSH, généralement sur TCP port 22. Il existe depuis la fin des années 1990. L'acronyme signifie en fait "SSH File Transfer Protocol").

  • FTP sur SSH - 1) possible, mais exemple extrêmement rare de protocole FTP tunnelé via un canal SSH 2) incorrectement nommé SFTP

(pour plus de détails, voir " FTP sécurisé, FTP/SSL, SFTP, FTPS, FTP, SCP ... Quelle est la différence? " page sur Rebex )

Avertissement: je travaille pour Rebex

37
Martin Vobr

SFTP est en fait un autre protocole qui s'exécute sur SSH - une extension de SSH si vous le souhaitez. Les gens ont tendance à utiliser SFTP plutôt que de tunneler FTP sur SSH.

Pour une prise en charge SFTP complète dans .NET, essayez edtFTPnet/PRO . Cela fait longtemps que nous prenons en charge de nombreux serveurs SFTP différents.

4
Bruce Blackshaw

FTP sur SSH est un protocole FTP simple tunnelé via SSH. SFTP est le mécanisme de transfert de fichiers proposé par SSH et c'est un protocole complètement différent. Je n'ai vu personne utiliser FTP sur SSH.

1
Mehrdad Afshari

SFTP est son propre protocole. FTP sur SSH utilise FTP une fois que vous êtes connecté via SSH.

1
jacobangel
  • SFTP signifie SSH File Transfer Protocol. Ce n'est pas FTP sur SSL et pas FTP sur SSH. SFTP est normalisé dans RFC 4253.
  • FTP signifie File Transfer Protocol qui est défini par RFC 959 et ces derniers ajouts. Le FTP est très populaire mais pas sécurisé. Par conséquent, FTP sur SSL a été introduit et il s'appelle FTPS ou FTP/SSL.

Pour l'authentification, SFTP utilise des clés SSH, tandis que FTPS utilise des certificats X.509.

1
user3766626

J'utilise SharpSSH depuis des années et cela fonctionne très bien. Bien qu'il n'ait pas connu de développement depuis un certain temps, le code source est facile à comprendre et à utiliser. J'ai fait des ajustements et l'ai recompilé sans problème pour mes propres projets, bien que cela fonctionne très bien tel quel sans avoir besoin de tout cela.

Si vous n'avez rien à faire, vous pouvez également écrire votre propre wrapper .NET pour le client PSFTP.EXE de PuTTY avec un code très minimal.

Bien que je n'aie jamais utilisé la bibliothèque SFTP de Greg Finzer, je le connais personnellement et je crois fermement qu'il a un produit de qualité si vous avez besoin de quelque chose de activement développé et robuste. Mais pour les choses simples, j'ai eu beaucoup de succès avec les options gratuites que j'ai mentionnées.

0
mattmc3