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?
Di solito, uso il comando scp
per trasferire file su *nix.
Qual è la differenza tra SFTP e SCP? Non funzionano entrambi su SSH?
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.
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.
Da una prospettiva puramente di linea di comando:
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 user@host:/path/to/remote.file [/path/to/local.file]
scp user@host:/path/to/remote.file [/path/to/local.file]
scp /path/to/local.file user@host:[/path/to/remote.file]
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ù
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 .