FTPS versus SFTP versus SCP

44

Je voudrais savoir exactement quelle est la différence entre les protocoles suivants: FTPS, SFTP et SCP. Par exemple, Unix a un outil scp, FileZilla offre les protocoles FTP et SFTP, tandis que JetBrains PhpStorm propose des protocoles distincts SFTP et FTPS.

Merci pour la clarification.

John Sonderson
la source

Réponses:

46

FTPS est un protocole FTP utilisant le protocole SSL / TLS pour le cryptage. Cela diffère de la famille de protocoles SCP / SFTP qui utilise SSH comme tunnel de transport.

Vous utiliserez généralement des programmes clients tels que WinSCP pour SCP et SFTP (SFTP est une version mise à niveau de SCP), alors que vous utiliseriez généralement un navigateur Web ou un gestionnaire de téléchargement Web (comme Filezilla ) pour FTPS.

FTPS est basé sur le Web, utilisant une syntaxe de commande textuelle et une sémantique, alors que SFTP est basé sur les protocoles de shell sécurisés communs sur les systèmes * NIX.

Cet article décrit bien les différences: http://www.codeguru.com/csharp/.net/net_general/internet/article.php/c14329/FTPS-vs-SFTP-What-to-Choose.htm


Edit: Pour exposer à la demande:

FTP est un protocole Internet qui remonte à 1971 (avec plusieurs mises à jour au fil des ans). Il est principalement axé sur la distribution de contenu et, dans le cas de FTPS, utilise SSL pour assurer une protection contre les écoutes illicites et les modifications illicites. L'authentification FTP nécessite SSL pour protéger les informations d'identification en transit.

La plupart des navigateurs nécessitent l'utilisation d'un plugin externe pour utiliser FTPS, en partie parce que ce n'est plus un protocole couramment utilisé. Quand il était populaire, les navigateurs Web étaient presque exclusivement HTTP, et tout le monde utilisait un client FTP distinct. Au moment où FTP / FTPS semblait le plus logique, HTTP n’était pas capable de gérer correctement les téléchargements de fichiers. Ce n'est que lorsque HTTP \ 1.1 a été publié en 1997 (et mis à jour en 1999) que HTTP a pu gérer correctement les flux binaires.

Il est à noter que HTTP et FTP utilisent une sémantique et une syntaxe presque identiques, et utilisent même les mêmes codes de retour bien connus (200, 301, 403, 404, 500, etc.). FTP est un peu plus ancien (HTTP a été normalisé en 1989 après que TCP \ IP soit devenu dominant). Les similitudes importantes entre les deux protocoles indiquent une lignée partagée, ou au moins un ensemble de conventions partagées. Je pense que c’est une raison plus que suffisante d’appeler FTP "Web-Based", aux côtés d’autres protocoles de couche d’application tels que HTTP, SMTP et DNS (bien que DNS utilise une présentation binaire, et non un texte comme HTTP / FTP / SMTP).

La famille SSH est un ensemble de protocoles axés sur l'administration de serveur et l'accès à distance à la capacité de traitement des serveurs, plutôt que sur la simple distribution de contenu. Il permet aux utilisateurs privilégiés d'un système de se connecter à un shell pour effectuer un travail sur le serveur lui-même. SCP et SFTP ont été développés pour prendre en charge les nombreuses tâches de gestion de fichiers liées à ce travail. Imaginez que vous deviez installer une mise à jour de votre instance Apache sur un serveur distant. ssh in, utilisez scp \ sftp pour télécharger le package de mise à jour, puis exécutez-le pour l'installer. Un flux de travail très différent de celui que vous pouvez obtenir avec FTPS.

J'espère que cela aide à clarifier.

Frank Thomas
la source
2
Les deux premières phrases de votre réponse sont bonnes, mais pourriez-vous me montrer un navigateur compatible FTPS (sans plug-in)? Que voulez-vous dire par la déclaration " FTPS est basé sur le Web "? Qu'est-ce qu'il a en commun avec le web ? Théoriquement, il pourrait être utilisé comme protocole de "transfert" en plus du protocole HTTP / HTTPS commun, mais vous pouvez trouver de nombreux protocoles pouvant être utilisés à cette fin.
Pabouk
Il manque la mention FTPES ici ... FTPS utilise le cryptage implicite - depuis le début, alors que FTPES commence le cryptage un peu plus tard - en général before the user credentials are sent over the connection, voici un bon accompagnement FTP / FTPS / FTPES: cerberusftp.com/support/help/ ftp-support
jave.web
18

SCP est l'outil de transfert de fichiers de SSH. Il nécessite SSH sur le client et le serveur. Ce n'est pas interactif.

SFTP est un autre outil de transfert de fichier qui peut être utilisé avec SSH (il peut donc à nouveau avoir besoin de SSH sur le client et le serveur) ou avec tout autre outil de connexion sécurisée compatible, car il est conçu pour être indépendant de SSH. C'est interactif comme l'ancien FTP simple. Notez que ce n'est pas FTP sur SSH, mais un nouveau protocole.

FTPS est tout simplement un vieux FTP sur SSL.

Envite
la source
1

SCP étant un outil ssh, il permet des opérations de copie / déplacement côté serveur, tandis que sftp nécessite la circulation du trafic via le client pour de telles tâches. D'autre part, les opérations sftp pourraient être suspendues et reprises.

imic
la source