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

Qual è la differenza tra SCP e SFTP?

Di solito, uso il comando scp per trasferire file su *nix.

Qual è la differenza tra SFTP e SCP? Non funzionano entrambi su SSH?

Risposte (5)

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

Da Wikipedia :

Rispetto al precedente protocollo SCP, che permette solo trasferimenti di file, il protocollo SFTP permette una serie di operazioni su file remoti - è più simile a un protocollo di file system remoto. Le capacità extra di un client SFTP rispetto a un client SCP includono la ripresa di trasferimenti interrotti, elenchi di directory e rimozione di file remoti. [1] Per queste ragioni è relativamente semplice implementare un client SFTP con interfaccia grafica rispetto a un client SCP con interfaccia grafica.

e

Sebbene sia SCP che SFTP utilizzino la stessa crittografia SSH durante il trasferimento dei file con lo stesso livello generale di overhead, SCP è solitamente molto più veloce di SFTP nel trasferimento dei file, specialmente su reti ad alta latenza. Questo accade perché SCP implementa un algoritmo di trasferimento più efficiente, uno che non richiede l'attesa delle conferme dei pacchetti. Questo porta ad una maggiore velocità, ma viene a scapito del fatto che non è possibile interrompere un trasferimento, quindi a differenza di SFTP, il trasferimento SCP non può essere annullato senza terminare la sessione.

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

In poche parole, SCP può essere usato solo per trasferire file, ed è non interattivo (cioè, tutto deve essere specificato sulla linea di comando). SFTP è più elaborato, e permette comandi interattivi per fare cose come creare directory, cancellare directory e file (tutto soggetto ai permessi di sistema, ovviamente), ecc.

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

Da una prospettiva puramente di linea di comando:

  • scp non ha una modalità interattiva né può leggere script di comando, ciò significa che tutto deve essere scritto sulla linea di comando.
  • sftp ha una modalità interattiva e può leggere i comandi da un file.

Un'altra importante differenza tra i 2 comandi è che sftp non può mettere un file locale in una locazione remota usando una singola linea di comando, sebbene possa ottenere file remoti, mentre scp può fare entrambe le cose.

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) è un protocollo di rete crittografico per consentire il login remoto e altri servizi di rete per operare in modo sicuro su una rete non protetta.

Differenze: SFTP funziona in modalità interattiva (sessione) e SCP funziona in modo non interattivo. Usando SFTP possiamo accedere al file system remoto, cioè creare, cancellare ed elencare file.

Similarità: Sia SCP (S ecure C opy P rotocol) che SFTP ( S SH F ile T ransfer P rotocol) sono protocolli di rete, che supportano la gestione dei file tra host su una rete. Entrambi usano SSH. più

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

La maggior parte delle differenze dei due protocolli sono già state dette in altre risposte, e più verbosamente in https://unix.stackexchange.com/q/8707/19088

Un'altra differenza, secondo la documentazione di curl , è che il protocollo SCP non è molto portabile e solitamente funziona solo tra sistemi Unix.

A proposito, curl implementa entrambi i protocolli e, a differenza dell'implementazione di default del client SFTP di OpenSSH, è non-interattivo sia per SFTP che per SCP.

E si noti che esiste anche il protocollo FISH , che permette di trasferire file via SSH senza bisogno di SCP o SFTP. Per quanto ne so, FISH non è molto popolare, attualmente implementato solo in alcuni file manager Midnight Commander e alcuni che sono basati su KDE) e Lftp .