SCP versus SFTP: welke moet u gebruiken voor bestandsoverdracht
SCP (Secure Copy) en SFTP (Secure File Transfer Program) zijn alternatieven voor FTP (File Transfer Protocol), wat handig is voor niet-geplande bestandsoverdrachten. Alle drie kunnen ze helpen bij het verplaatsen van bestanden van de ene locatie naar de andere via een netwerkmedium. FTP verzendt gegevens echter in platte tekst, terwijl de andere twee het SSH File Transfer Protocol (SFTP) gebruiken voor communicatie.
Wat is SCP?
SCP is een niet-interactief bestandsoverdrachtprogramma dat voor het eerst verscheen in 4.2 BSD. Historisch gezien gebruikte het rlogin en SSH om bestanden tussen twee computers te verzenden. Dit maakte het gevoelig voor exploits op afstand, omdat het opdrachten uitvoerde op de externe host om een gegevensoverdracht te starten.
Bestands- en mapoverdrachten in SCP kunnen plaatsvinden tussen een lokale machine en een externe host of tussen twee externe hosts. Hierdoor kan het flexibeler zijn bij het werken met verschillende UNIX-achtige distributies.
SCP kan ook worden gebruikt met een jokerteken om te helpen bij het overbrengen van meerdere bestanden op basis van gedeeltelijke stringcriteria. Net als bij directe overdrachten kunnen deze jokertekens ook worden gebruikt voor het verzenden en ontvangen van bestanden en mappen.
Wat is SFTP?
In tegenstelling tot SCP is SFTP een programma voor bestandsoverdracht dat op dezelfde manier werkt als een FTP-prompt en een externe shell. Het biedt een interactieve prompt waarmee u door het bestandssysteem van een externe machine kunt navigeren en de inhoud ervan kunt manipuleren.
SFTP maakt ook gebruik van verschillende SSH-functies, zoals compressie of authenticatie met openbare sleutels, om verbinding te maken met hosts en de interactieve modus te activeren. Dit maakt het een robuuste bestandssysteembrowser op afstand voor headless UNIX-machines.
SFTP kan ook worden gebruikt om bestanden automatisch op te halen als u een niet-interactieve authenticatiemethode gebruikt; anders haalt het ze op na succesvolle interactieve authenticatie.
SCP versus SFTP: wat is beter?
Er bestaan enkele overeenkomsten tussen de twee bestandsoverdrachtprogramma’s. Beide gebruiken TCP-poort 22 en draaien op SSH, waardoor ze qua beveiliging gelijk zijn. Bovendien ondersteunen beide programma’s ook de overdracht van grote bestanden, omdat ze geen limieten voor de bestandsgrootte hebben. De belangrijkste verschillen tussen SCP en SFTP zijn daarom te zien in hun specificaties en functies.
Functionaliteit
In de kern is het basisdoel van SCP het veilig kopiëren van gegevens tussen twee machines. Dit komt duidelijk tot uiting in de basissyntaxis van het programma, die vereist dat u voor elke bestandsoverdracht een bron en een bestemming opgeeft. Dit maakt het gemakkelijker om mee te werken voor eenvoudige eenmalige bestandsoverdrachten.
Ondertussen is SFTP een completere bestandsoverdrachtclient die een bestandsbrowser biedt en downloads van meerdere bestanden. Deze functies maken SFTP ideaal voor een gebruiker die voortdurend bestanden van en naar een externe host moet overbrengen.
Winnaar : SFTP
Snelheid
Omdat zowel SCP als SFTP het SFTP-protocol gebruiken om bestanden te coderen en te transporteren, delen de twee programma’s dezelfde ruwe overdrachtssnelheid bij het verzenden of ontvangen van gegevens. Het starten van die overdracht is echter een ander verhaal.
SCP is vaak sneller in het bereiken van de maximale ruwe overdrachtssnelheid van een verbinding, terwijl SFTP achterblijft bij het proberen de snelheid op te drijven. Bovendien vereist het starten van een SFTP-overdracht ook dat u naar een prompt gaat en FTP-opdrachten gebruikt om bestanden te uploaden en downloaden.
Winnaar : SCP
Beveiliging
Zowel SCP als SFTP vertrouwen op het SSH-protocol voor hun basistransportlaag. Hierdoor kunnen ze veilig gegevens overdragen via een netwerk met behulp van codering op militair niveau.
Desondanks overtreft SFTP SCP door de vlag -f aan te bieden waarmee u overgedragen gegevens onmiddellijk naar de schijf kunt schrijven. Niet alleen dat, de opdrachtregelinterface biedt ook een aantal hulpprogramma’s waarmee u de machtigingsbits van een bestand kunt bijwerken.
Winnaar : SFTP
Bestandsgrootte
De meeste moderne versies van zowel SCP als SFTP in Linux zijn 64-bit binaire bestanden. Dit betekent dat beide hulpprogramma’s hypothetisch maximaal 16 exabytes aan willekeurige gegevens kunnen ondersteunen, zolang het onderliggende bestandssysteem dit ook ondersteunt.
Dat gezegd hebbende, kan SCP nog steeds problemen opleveren met grote bestanden, vooral als je met oudere UNIX-achtige machines werkt. Dit komt vooral doordat systemen met 32-bits versies van SCP werken en slechts maximaal 4 gigabyte aan bestanden tegelijk kunnen verwerken.
Winnaar : SFTP
Commandoregels
SCP is niet-interactief en kan geen opdrachtscripts lezen, dus alles moet op de opdrachtregel worden geschreven. Hierdoor kan het echter ook worden uitgevoerd als onderdeel van grotere shell-scripts, wat handig kan zijn bij het automatiseren van systeembeheertaken.
SFTP daarentegen is interactief en kan dus opdrachten uit bestanden lezen. Hoewel dit ook handig kan zijn voor automatisering, kan het onhandiger zijn omdat het een reeks opdrachten vereist die verschillen van een gewoon shellscript.
Winnaar : SCP
Bestandsoverdrachten hervatten
SCP ondersteunt deze functie niet zonder meer. Dit maakt het programma gevoelig voor het herhalen van volledige overdrachten op vlekkerige en intermitterende verbindingen. Ondertussen ondersteunt SFTP het zowel op de CLI-prompt met zijn -a
vlag als via de opdrachtregelclient met behulp van de subopdrachten reget
en reput
.
Winnaar : SFTP
Welke moet u gebruiken voor bestandsoverdracht: SCP of SFTP?
Hoewel ze overeenkomsten en verschillen hebben, zou het niet eerlijk zijn om te zeggen dat de een beter is dan de ander. Beide brengen bestanden over en hebben vergelijkbare beveiligingsfuncties als ze op SSH draaien. Uiteindelijk zal het hulpprogramma dat u kiest, gebaseerd zijn op wat het beste is voor de vereisten van uw omgeving.
Gebruik SCP voor
- Wanneer u een enkel bestand of een map wilt overbrengen tussen twee externe hosts.
- Wanneer u de gegevensoverdracht via het netwerk wilt automatiseren.
- Wanneer u werkt met oudere UNIX-achtige systemen zonder SFTP-ondersteuning.
Gebruik SFTP voor
- Wanneer u meerdere bestanden over meerdere mappen overbrengt vanaf één enkele externe host.
- Wanneer u wilt communiceren met het bestandssysteem van een externe host zonder een nieuwe SSH-sessie te openen.
- Wanneer u een betrouwbaar programma voor bestandsoverdracht wilt dat zelfs in onregelmatige netwerkomstandigheden kan werken.
Met dat in gedachten is het verzenden van gegevens tussen twee systemen slechts de eerste stap om te begrijpen hoe computers via een netwerk communiceren. Leer hoe uw Linux-machine weet waar zijn gegevens naartoe moeten worden gestuurd door onze praktische DNS-resolutiegids te doorlopen met behulp van dig .
Afbeelding tegoed: Alejandro Escamilla via Unsplash . Alle wijzigingen en screenshots door Ramces Red.
Geef een reactie