2010-04-26 17:36:01 +0000 2010-04-26 17:36:01 +0000
164
164

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

Normalmente, utilizo o comando scp para transferir ficheiros em *nixes.

Qual é a diferença entre SFTP e SCP? Será que ambos não trabalham em SSH?

Respostas (5)

105
105
105
2010-04-26 19:36:45 +0000

A partir de Wikipedia :

Em comparação com o anterior protocolo SCP, que permite apenas transferências de ficheiros, o protocolo SFTP permite uma gama de operações em ficheiros remotos - é mais como um protocolo de sistema de ficheiros remoto. As capacidades extra de um cliente SFTP em comparação com um cliente SCP incluem o reinício de transferências interrompidas, listagens de directórios, e remoção remota de ficheiros. [1] Por estas razões, é relativamente simples implementar um cliente SFTP GUI em comparação com um cliente SCP GUI.

e

Embora tanto o SCP como o SFTP utilizem a mesma encriptação SSH durante a transferência de ficheiros com o mesmo nível geral de sobrecarga, o SCP é normalmente muito mais rápido que o SFTP na transferência de ficheiros, especialmente em redes de alta latência. Isto acontece porque o SCP implementa um algoritmo de transferência mais eficiente, um algoritmo que não requer esperar por confirmações de pacotes. Isto leva a uma velocidade mais rápida, mas vem à custa de não ser capaz de interromper uma transferência, por isso, ao contrário do SFTP, a transferência de SCP não pode ser cancelada sem terminar a sessão.

100
100
100
2010-04-26 18:10:26 +0000

Em resumo, o SCP só pode ser utilizado para transferir ficheiros, e é não-interactivo (ou seja, tudo tem de ser especificado na linha de comando). O SFTP é mais elaborado, e permite comandos interactivos para fazer coisas como criar directórios, apagar directórios e ficheiros (todos sujeitos a permissões de sistema, claro), etc.

9
9
9
2016-01-20 11:04:11 +0000

De uma perspectiva puramente de linha de comando :

  • scp* não tem um modo interactivo nem pode ler scripts de comando, o que significa que tudo deve ser escrito na linha de comando.
  • sftp* tem um modo interactivo e pode ler comandos a partir de um ficheiro.

Outra diferença importante entre os 2 comandos é que sftp* não pode colocar um ficheiro local num local remoto utilizando uma única linha de comando, embora possa obter ficheiro remoto, enquanto scp* pode fazer ambos.

sftp get remote file

sftp user@host:/path/to/remote.file [/path/to/local.file]

scp get remote file

scp user@host:/path/to/remote.file [/path/to/local.file]

scp put remote file

scp /path/to/local.file user@host:[/path/to/remote.file]
3
3
3
2016-05-25 03:52:12 +0000

SSH ( S* ecure SH ell) é um protocolo de rede criptográfico para permitir o login remoto e outros serviços de rede para operar em segurança através de uma rede não segura.

Diferenças: SFTP funciona em modo interactivo (sessão) e SCP funciona em modo não-interactivo. Usando SFTP podemos aceder ao sistema de arquivo remoto, ou seja, criar, apagar, e listar ficheiros.

Similitudes: Ambos SCP( S* ecure C* opy P* rotocolo) e SFTP ( S* SH F* ile T* ransferência P* rotocolo) são protocolos de rede, que suportam a gestão de ficheiros entre anfitriões numa rede. Ambos utilizam SSH. mais

2
2
2
2017-08-13 19:46:17 +0000

A maioria das diferenças dos dois protocolos já foram ditas noutras respostas, e mais verbosamente em https://unix.stackexchange.com/q/8707/19088

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

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

E note que existe também o protocolo FISH , que permite transferir ficheiros via SSH sem a necessidade de SCP ou SFTP. Tanto quanto sei o FISH não é muito popular, actualmente implementado em apenas alguns gestores de ficheiros Midnight Commander e alguns que são baseados no KDE) e Lftp .