Android

Hoe scp-opdracht te gebruiken om bestanden veilig over te zetten

scp command - SCP to Securely Transfer Files/Folders in Linux

scp command - SCP to Securely Transfer Files/Folders in Linux

Inhoudsopgave:

Anonim

SCP (beveiligd kopiëren) is een opdrachtregelprogramma waarmee u bestanden en mappen veilig tussen twee locaties kunt kopiëren.

Met scp kunt u een bestand of map kopiëren:

  • Van uw lokale systeem naar een extern systeem. Van een extern systeem naar uw lokale systeem. Tussen twee externe systemen vanaf uw lokale systeem.

Bij het overbrengen van gegevens met scp worden zowel de bestanden als het wachtwoord gecodeerd, zodat iedereen die rondsnuffelt in het verkeer niets gevoeligs krijgt.

In deze zelfstudie laten we u zien hoe u het scp commando kunt gebruiken door praktische voorbeelden en gedetailleerde uitleg van de meest voorkomende scp-opties.

SCP-opdrachtsyntaxis

Laten we, voordat we ingaan op het gebruik van de opdracht scp , eerst de basissyntaxis bekijken.

De syntaxis van de scp opdracht heeft de volgende vorm:

scp SRC_HOST:]file1 DEST_HOST:]file2

  • OPTION - scp-opties zoals codering, ssh-configuratie, ssh-poort, limiet, recursieve kopie… enz. SRC_HOST:]file1 - Bronbestand. DEST_HOST:]file2 - Bestemmingsbestand

Lokale bestanden moeten worden gespecificeerd met behulp van een absoluut of relatief pad, terwijl externe bestandsnamen een gebruikers- en hostspecificatie moeten bevatten.

scp biedt een aantal opties die elk aspect van zijn gedrag regelen. De meest gebruikte opties zijn:

  • -P Specificeert de externe ssh-poort. -p Behoud van bestanden modificatie en toegangstijden. -q Gebruik deze optie als u de voortgangsmeter en niet-foutmeldingen wilt onderdrukken. -C . Met deze optie wordt scp gedwongen de gegevens te comprimeren wanneer deze naar de doelcomputer worden verzonden. -r Deze optie zal scp vertellen om mappen recursief te kopiëren.

Voordat je begint

Het scp commando vertrouwt op ssh voor gegevensoverdracht, dus het vereist een ssh-sleutel of wachtwoord voor authenticatie op de externe systemen.

De dubbele punt ( scp is hoe scp onderscheid maakt tussen lokale en externe locaties.

Om bestanden te kunnen kopiëren, moet u tenminste leesrechten hebben op het bronbestand en schrijfrechten op het doelsysteem.

Wees voorzichtig bij het kopiëren van bestanden met dezelfde naam en locatie op beide systemen, scp zal bestanden zonder waarschuwing overschrijven.

Bij het overbrengen van grote bestanden, wordt het aanbevolen om de scp opdracht uit te voeren in een scherm of tmux-sessie.

Kopieer bestanden en mappen tussen twee systemen met scp

Kopieer een lokaal bestand naar een extern systeem met de scp opdracht

Voer de volgende opdracht uit om een ​​bestand van een lokaal naar een extern systeem te kopiëren:

scp file.txt [email protected]:/remote/directory

Waar file.txt de naam is van het bestand dat we willen kopiëren, remote_username is de gebruiker op de externe server, 10.10.0.2 is het IP-adres van de server. De /remote/directory is het pad naar de map waarnaar u het bestand wilt kopiëren. Als u geen externe map opgeeft, wordt het bestand gekopieerd naar de thuismap van de externe gebruiker.

U wordt gevraagd het gebruikerswachtwoord in te voeren en het overdrachtsproces wordt gestart.

[email protected]'s password: file.txt 100% 0 0.0KB/s 00:00

Als u de bestandsnaam weglaat van de doellocatie, wordt het bestand met de oorspronkelijke naam gekopieerd. Als u het bestand onder een andere naam wilt opslaan, moet u de nieuwe bestandsnaam opgeven:

scp file.txt [email protected]:/remote/directory/newfilename.txt

Als SSH op de externe host luistert naar een andere poort dan de standaard 22, kunt u de poort opgeven met het argument -P :

scp -P 2322 file.txt [email protected]:/remote/directory

De opdracht om een ​​map te kopiëren lijkt veel op het kopiëren van bestanden. Het enige verschil is dat u de vlag -r moet gebruiken voor recursief.

Gebruik de optie -r om een ​​map van een lokaal naar een extern systeem te kopiëren:

scp -r /local/directory [email protected]:/remote/directory

Kopieer een extern bestand naar een lokaal systeem met behulp van de scp ommand

Als u een bestand van een extern apparaat naar een lokaal systeem wilt kopiëren, gebruikt u de externe locatie als bron en de lokale locatie als bestemming.

10.10.0.2 bijvoorbeeld de volgende opdracht uit om een ​​bestand met de naam file.txt te kopiëren van een externe server met IP 10.10.0.2 :

scp [email protected]:/remote/file.txt /local/directory

Kopieer een bestand tussen twee externe systemen met behulp van de scp opdracht

In tegenstelling tot rsync hoeft u bij het gebruik van scp niet in te loggen op een van de servers om bestanden van de ene naar de andere externe machine over te zetten.

De volgende opdracht kopieert het bestand /files/file.txt van de externe host host1.com naar de map /files op de externe host host2.com .

scp [email protected]:/files/file.txt [email protected]:/files

U wordt gevraagd om de wachtwoorden voor beide externe accounts in te voeren. De gegevens worden rechtstreeks van de ene externe host naar de andere overgedragen.

Gebruik de optie -3 om het verkeer door de machine te leiden waarop de opdracht is gegeven:

scp -3 [email protected]:/files/file.txt [email protected]:/files

Conclusie

In deze zelfstudie hebt u geleerd hoe u de opdracht scp om bestanden en mappen te kopiëren.

Misschien wilt u ook een op SSH-sleutel gebaseerde verificatie instellen en verbinding maken met uw Linux-servers zonder een wachtwoord in te voeren.

scp-terminal