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

145

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

Qual é a diferença entre SFTP e SCP? Eles não trabalham em SSH?

    
por nos 26.04.2010 / 19:36

5 respostas

90

Em poucas palavras, o SCP só pode ser usado para transferir arquivos e não é interativo (isto é, tudo precisa 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.

    
por 26.04.2010 / 20:10
98

De Wikipédia :

Compared to the earlier SCP protocol, which allows only file transfers, the SFTP protocol allows for a range of operations on remote files – it is more like a remote file system protocol. An SFTP client's extra capabilities compared to an SCP client include resuming interrupted transfers, directory listings, and remote file removal. [1] For these reasons it is relatively simple to implement a GUI SFTP client compared with a GUI SCP client.

e

Although both SCP and SFTP utilize the same SSH encryption during file transfer with the same general level of overhead, SCP is usually much faster than SFTP at transferring files, especially on high latency networks. This happens because SCP implements a more efficient transfer algorithm, one which does not require waiting for packet confirmations. This leads to faster speed but comes at the expense of not being able to interrupt a transfer, so unlike SFTP, SCP transfer cannot be canceled without terminating the session.

    
por 26.04.2010 / 21:36
6

De uma perspectiva puramente de linha de comando:

  • scp não tem um modo interativo nem pode ler scripts de comando, isso significa que tudo deve ser escrito na linha de comando.
  • O 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, embora possa obter arquivos remotos, enquanto scp pode fazer as duas coisas.

sftp obtém o arquivo remoto

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

scp obtém o arquivo remoto

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

scp colocar arquivo remoto

scp /path/to/local.file user@host:[/path/to/remote.file]
    
por 20.01.2016 / 12:04
1

O SSH ( S ecure SH ell) é um protocolo de rede criptográfico que permite que o login remoto e outros serviços de rede operem de forma segura em um ambiente não protegido. rede.

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 os SCP ( S ecure C opy P rotocol) e SFTP strong> ( S SH F ile T ransfer P rotocol) são protocolos de rede, que suportam gerenciamento de arquivos entre hosts em uma rede. Ambos usam SSH.

more

    
por 25.05.2016 / 05:52
0

A maioria das diferenças dos dois protocolos já foi dita em outras respostas e, mais detalhadamente, no link

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

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

E observe que também existe o protocolo FISH , 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 ( Midnight Commander e alguns que são baseados no KDE ) e Lftp .

    
por 13.08.2017 / 21:46