Wat is het verschil tussen SCP en SFTP?
Gewoonlijk gebruik ik het scp
commando om bestanden over te zetten op nixes.
Wat is het verschil tussen SFTP en SCP? Werken ze niet allebei op SSH?
Gewoonlijk gebruik ik het scp
commando om bestanden over te zetten op nixes.
Wat is het verschil tussen SFTP en SCP? Werken ze niet allebei op SSH?
Uit Wikipedia :
Vergeleken met het vroegere SCP-protocol, dat alleen bestandsoverdracht toestond, staat het SFTP-protocol een reeks bewerkingen op bestanden op afstand toe - het lijkt meer op een protocol voor een bestandssysteem op afstand. De extra mogelijkheden van een SFTP-client ten opzichte van een SCP-client omvatten het hervatten van onderbroken overdrachten, directory listings en het op afstand verwijderen van bestanden. [1] Om deze redenen is het relatief eenvoudig om een GUI SFTP-client te implementeren in vergelijking met een GUI SCP-client.
en
Hoewel zowel SCP als SFTP gebruik maken van dezelfde SSH-encryptie tijdens bestandsoverdracht met hetzelfde algemene niveau van overhead, is SCP meestal veel sneller dan SFTP bij het overbrengen van bestanden, vooral op netwerken met een hoge latency. Dit komt doordat SCP een efficiënter overdrachtsalgoritme implementeert, een waarbij niet op pakketbevestigingen hoeft te worden gewacht. Dit leidt tot een hogere snelheid, maar gaat ten koste van het feit dat een overdracht niet kan worden onderbroken, dus in tegenstelling tot SFTP kan een SCP overdracht niet worden geannuleerd zonder de sessie te beëindigen.
In een notendop kan SCP alleen worden gebruikt voor het overbrengen van bestanden, en het is niet-interactief (d.w.z., alles moet op de commandoregel worden gespecificeerd). SFTP is uitgebreider, en staat interactieve commando’s toe om dingen te doen zoals het aanmaken van directories, het verwijderen van directories en bestanden (allemaal afhankelijk van systeemrechten, natuurlijk), enz.
Vanuit een zuiver commandoregelperspectief :
Een ander belangrijk verschil tussen de 2 commando’s is dat sftp geen lokaal bestand naar een locatie op afstand kan zetten met een enkele opdrachtregel, hoewel het wel een bestand op afstand kan krijgen, terwijl scp beide kan doen.
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) is een cryptografisch netwerkprotocol om inloggen op afstand en andere netwerkdiensten veilig te laten werken over een onbeveiligd netwerk.
Verschillen: SFTP werkt in interactieve modus (sessie) en SCP werkt in niet-interactieve modus. Met behulp van SFTP kunnen we toegang krijgen tot het bestandssysteem op afstand, d.w.z. het creëren, verwijderen en noteren van bestanden.
Gelijkenissen: Zowel SCP( S ecure C opy P rotocol) als SFTP ( S SH F ile T ransfer P rotocol) zijn netwerkprotocollen, die bestandsbeheer tussen hosts in een netwerk ondersteunen. Beide maken gebruik van SSH. meer
De meeste verschillen van de twee protocollen zijn al gezegd in andere antwoorden, en meer verbaal in https://unix.stackexchange.com/q/8707/19088
Een ander verschil, volgens de documentatie van curl , is dat het SCP protocol niet erg portable is en meestal alleen werkt tussen Unix systemen.
Overigens, curl implementeert beide protocollen en in tegenstelling tot de standaard OpenSSH SFTP client implementatie, is het niet-interactief voor zowel SFTP als SCP.
En merk op dat er ook het FISH protocol is, dat u in staat stelt om bestanden via SSH over te dragen zonder de noodzaak van SCP of SFTP. Voor zover ik weet is FISH niet erg populair, momenteel geïmplementeerd in slechts een paar bestandsmanagers Midnight Commander en sommige die op KDE gebaseerd zijn) en Lftp .