FTPS versus SFTP versus SCP

44

Gostaria de saber exatamente qual é a diferença entre os seguintes protocolos: FTPS, SFTP e SCP. Por exemplo, o Unix possui uma ferramenta scp, o FileZilla oferece FTP e SFTP, enquanto o JetBrains PhpStorm oferece protocolos SFTP e FTPS distintos.

Obrigado pelo esclarecimento.

John Sonderson
fonte

Respostas:

46

O FTPS é FTP usando o protocolo SSL / TLS para criptografia. Isso é diferente da família de protocolos SCP / SFTP que usam SSH como seu túnel de transporte.

Você geralmente usará programas clientes como o WinSCP para SCP e SFTP (SFTP é uma versão atualizada do SCP), enquanto você usaria normalmente um navegador da web ou um gerenciador de downloads da web (como o Filezilla ) para FTPS.

O FTPS é baseado na Web, usando uma sintaxe e semântica de comandos de texto, enquanto o SFTP é baseado nos protocolos de shell seguros comuns nos sistemas * NIX.

Este artigo descreve bem as diferenças: http://www.codeguru.com/csharp/.net/net_general/internet/article.php/c14329/FTPS-vs-SFTP-What-to-Choose.htm


Editar: Para expor conforme solicitado:

O FTP é um protocolo da Internet que remonta a 1971 (com várias atualizações ao longo dos anos). Ele se concentra principalmente na distribuição de conteúdo e, no caso do FTPS, usa SSL para fornecer proteção contra escutas e modificações ilícitas. A autenticação FTP requer SSL, para proteger credenciais em trânsito.

A maioria dos navegadores requer um plug-in externo para utilizar o FTPS, em parte porque ele não é mais um protocolo comumente usado. Quando era popular, os navegadores da Web eram quase exclusivamente apenas HTTP, e todos usavam um cliente FTP separado. Na época em que o FTP / FTPS fazia mais sentido, o HTTP não era capaz de lidar bem com downloads de arquivos. Somente depois que o HTTP \ 1.1 foi publicado em 1997 (e atualizado em 1999), o HTTP conseguiu lidar adequadamente com fluxos binários.

É notável que HTTP e FTP usem semântica e sintaxe quase idênticas, e até mesmo usem os mesmos códigos de retorno conhecidos (200, 301, 403, 404, 500, etc.). O FTP é um pouco mais antigo (o HTTP foi padronizado em 1989 após o TCP \ IP se tornar dominante). As semelhanças significativas entre os dois protocolos indicam uma linhagem compartilhada, ou pelo menos um conjunto de convenções compartilhadas. Eu acho que esse é o motivo mais do que suficiente para chamar o FTP "baseado na Web", juntamente com outros protocolos principais da camada de aplicativos, como HTTP, SMTP e DNS (embora o DNS use um layout binário, não texto como HTTP / FTP / SMTP).

A família SSH é um conjunto de protocolos focados na administração de servidores e acesso remoto à capacidade de processamento de servidores, em vez de simples distribuição de conteúdo. Ele permite que usuários privilegiados de um sistema se conectem a um shell para executar trabalhos no próprio servidor. O SCP e o SFTP foram desenvolvidos para suportar as muitas tarefas de gerenciamento de arquivos relacionadas a esse trabalho. Imagine que você precisa instalar uma atualização para sua instância do Apache em um servidor remoto. você instala, use scp \ sftp para carregar o pacote de atualização e execute-o para instalar. Um fluxo de trabalho bastante diferente do que você pode obter com o FTPS.

Espero que ajude a esclarecer.

Frank Thomas
fonte
2
As duas primeiras frases e meia na sua resposta são boas, mas você poderia me mostrar um navegador que suporte FTPS (sem um plug-in)? O que você quer dizer com a afirmação " FTPS é baseado na Web "? O que isso tem em comum com a web ? Teoricamente, poderia ser usado como um protocolo de "transferência" além do HTTP / HTTPS comum, mas você pode encontrar muitos protocolos que podem ser usados ​​para esse fim.
pabouk
Estou com falta de menção ao FTPES aqui ... O FTPS usa criptografia implícita - desde o início, enquanto o FTPES inicia a criptografia um pouco mais tarde - geralmente before the user credentials are sent over the connection, aqui está uma boa comparação FTP / FTPS / FTPES: cerberusftp.com/support/help/ ftp-support
jave.web
18

SCP é a ferramenta de transferência de arquivos do SSH. Requer SSH no cliente e no servidor. Não é interativo.

O SFTP é outra ferramenta de transferência de arquivos que pode ser usada com SSH (portanto, novamente pode exigir SSH no cliente e no servidor) ou com qualquer outra ferramenta de conexão segura compatível, uma vez que se destina a ser independente do SSH. É interativo como o antigo FTP simples. Note que é não FTP sobre SSH, mas um novo protocolo.

O FTPS é um FTP antigo simples sobre SSL.

Envite
fonte
1

O SCP, sendo uma ferramenta ssh, permite operações de copiar / mover no servidor, enquanto o sftp exige que o tráfego circule pelo cliente nessas tarefas. Por outro lado, as operações sftp podem ser pausadas e retomadas.

imic
fonte