Questão Qual é a diferença entre o SCP e o SFTP?


Normalmente, eu uso o scp comando para transferir arquivos em * nixes.

Qual é a diferença entre SFTP e SCP? Os dois não trabalham no SSH?


143


origem




Respostas:


Em poucas palavras, o SCP só pode ser usado para transferir arquivos e não é interativo (ou seja, tudo deve ser especificado na linha de comando). O SFTP é mais elaborado e permite que comandos interativos façam coisas como criar diretórios, excluir diretórios e arquivos (todos sujeitos a permissões do sistema, é claro), etc.


89



Em relação à interatividade: A diferença que você descreve é ​​sobre clientes SFTP / SCP específicos, conforme implementados no OpenSSH. Não é nada sobre os protocolos em si. É perfeitamente possível implementar um cliente SCP interativo ou um cliente SFTP não interativo. - Martin Prikryl
Só mais uma coisa: o scp não funciona se o servidor só permite acesso SFTP através da linha ForceCommand internal-sftp. eu acho que PermitTTY no também impede o acesso scp, mas permite acesso sftp, embora eu possa ter apenas digitado minha senha toda vez que tentei. Mas essas duas coisas não devem impedir o sftp. Fonte: experiência pessoal - ecube
Posso supor que qualquer servidor SFTP também é capaz de aceitar transferências SCP? - gus
@gus não, veja o comentário do ecube - Pere


A partir de Wikipedia:

Em comparação com o protocolo SCP anterior,   que permite apenas transferências de arquivos, o   O protocolo SFTP permite uma variedade de   operações em arquivos remotos - é   mais como um sistema de arquivos remotos   protocolo. Um extra do cliente SFTP   capacidades em comparação com um cliente SCP   incluem retomada interrompida   transferências, listas de diretórios e   Remoção remota de arquivos. [1] Para estes   razões é relativamente simples   implementar um cliente GUI SFTP comparado   com um cliente SCP da GUI.

e

Embora tanto o SCP quanto o SFTP utilizem   mesma criptografia SSH durante o arquivo   transferência com o mesmo nível geral   de sobrecarga, SCP é geralmente muito   mais rápido que o SFTP ao transferir   arquivos, especialmente em alta latência   redes. Isso acontece porque o SCP   implementa uma transferência mais eficiente   algoritmo, um que não requer   esperando por confirmações de pacotes. este   leva a maior velocidade, mas vem no   despesa de não poder interromper   uma transferência, portanto, ao contrário do SFTP, SCP   transferência não pode ser cancelada sem   terminando a sessão.


97



"O SCP é geralmente muito mais rápido que o SFTP na transferência de arquivos." - Micah Bolen
"Mas vem à custa de não poder interromper uma transferência". Essa é uma troca muito importante. - aaaaaa


De uma perspectiva de linha de comando puramente:

  • scp não tem um modo interativo nem pode ler scripts de comando, isso significa que tudo deve ser escrito na linha de comando.
  • sftp tem um modo interativo e pode ler comandos de um arquivo.

Outra diferença importante entre os dois comandos é que sftp não pode colocar um arquivo local em um local remoto usando uma única linha de comando


6





SSH (Secure SHell) é um protocolo de rede criptográfica que permite que o login remoto e outros serviços de rede operem de forma segura em uma rede desprotegida.

Diferenças: O SFTP funciona no modo interativo (sessão) e o SCP funciona no não interativo. Usando o SFTP, podemos acessar o sistema de arquivos remotos, ou seja, criar, excluir e listar arquivos.

Semelhanças: Ambos SCP (Secure Copy Protocol) e SFTP (SSH File Transfer Protocol) são protocolos de rede, que suportam o gerenciamento de arquivos entre hosts em uma rede. Ambos usam SSH.

Mais


1





A maioria das diferenças dos dois protocolos já foi dita em outras respostas e, mais detalhadamente, em https://unix.stackexchange.com/q/8707/19088

Outra diferença, de acordo com o documentação de curl, é que o protocolo SCP não é muito portátil e normalmente funciona apenas entre sistemas Unix.

A propósito, ondulação implementa ambos os protocolos e, ao contrário da implementação padrão do cliente OpenSSH SFTP, é não interativo para SFTP e SCP.

E note que há também o PEIXE protocolo, que permite transferir arquivos via SSH sem a necessidade de SCP ou SFTP. Até onde eu sei, o FISH não é muito popular, atualmente implementado em apenas alguns gerenciadores de arquivos (Comandante da meia-noite e alguns que são baseados no KDE) e Lftp.


0



"Outra diferença, de acordo com a documentação do curl, é que o protocolo SCP não é muito portátil e normalmente funciona apenas entre sistemas Unix". A ironia desta parte da sua resposta é que a GUI SCP mais popular é chamada WinSCP, e - você adivinhou - é um programa do Windows. - brett
@brett, o cliente mais popular é provavelmente o scp do OpenSSH, eu diria que ele é altamente implementado. WinSCP é um cliente SCP / SFTP / etc, mas atualmente é usado principalmente como um cliente (S) FTP: "Em junho de 2003, a versão 3.0 foi lançada, introduzindo suporte para a alternativa ao SCP, o protocolo SFTP. Com o tempo, evoluiu a partir da alternativa para o protocolo primário.Apesar disso, o nome bem estabelecido "WinSCP" foi preservado. " (da História do WinSCP: winscp.net/eng/docs/project_history) - Pere