12 scp command examples securely transfer files linux
Deze tutorial legt het Secure Copy Protocol of SCP-commando uit dat wordt gebruikt voor het veilig kopiëren van de bestanden in Linux en Unix met syntaxis en voorbeelden:
In dit artikel bespreken we de SCP-opdracht (Secure Copy Protocol) die wordt gebruikt voor bestandsoverdracht. We zullen zien wat het is en hoe het werkt met behulp van een paar voorbeelden. Laten we dus eerst proberen te begrijpen wat het SCP-commando is.
Wat je leert:
Wat is SCP-opdracht?
SCP (Secure Copy Protocol) is een netwerkprotocol dat wordt gebruikt voor het veilig overbrengen van bestanden tussen hosts op een computernetwerk. Met behulp van dit opdrachtregelhulpprogramma op Linux- en Unix-achtige systemen, kunt u bestandsoverdracht uitvoeren van een localhost naar een externe host, of van een externe host naar een lokaal systeem, of tussen twee externe hosts.
(beeld bron
SCP zorgt voor de authenticiteit, codering en vertrouwelijkheid van de gegevens door gebruik te maken van het SSH-mechanisme (Secure Shell) voor het overbrengen van de bestanden. De gegevens die onderweg zijn, zijn dus beschermd tegen de rondsnuffelende aanvallen. Met behulp van dit protocol kunnen clients bestanden en mappen van en naar een server uploaden en downloaden. Het vereist een wachtwoord of sleutels voor authenticatie. De standaardpoort voor SCP is TCP-poort 22.
Het voordeel van het SCP-protocol is dat u voor bestandsoverdracht niet expliciet een FTP-sessie hoeft te starten of in te loggen op de externe hosts.
Syntaxis voor SCP-protocol
# 1) Voor het kopiëren van het bestand van de lokale naar de externe host
Dit is de zeer basale syntaxis van de SCP-opdracht die het bronbestand van de huidige host naar het doelpad op de doelhost zal kopiëren met behulp van een gebruikersaccount. Meestal lijkt het veel op de opdracht copy cp.
# 2) Voor het kopiëren van een externe host naar een lokale host
Voor het kopiëren van bestanden:
Of, download gewoon het bestand:
Voor het kopiëren van een map (recursief):
Als de externe host een andere poort dan de standaardpoort 22 gebruikt, moet het poortnummer expliciet worden vermeld in de opdracht met de optie -P.
# 3) Kopiëren van de ene externe computer naar een andere externe computer
Wanneer u bestanden van de ene externe computer naar de andere kopieert, gaat het verkeer niet langs uw computer. Deze bewerking vindt rechtstreeks plaats tussen de twee externe servers.
# 4) Meerdere bestanden kopiëren
Voor het kopiëren van meerdere bestanden van localhost naar een externe host:
Voor het kopiëren van meerdere bestanden van een externe host naar een huidige directory van localhost:
Opties die worden gebruikt met SCP-opdracht
De meest gebruikte opties met SCP-opdracht worden hieronder vermeld:
- -C : C, staat hier voor compressie inschakelen. Door deze optie te gebruiken, wordt compressie ingeschakeld en wordt de overdrachtssnelheid verhoogd tijdens het kopiëren. Het zal automatisch compressie bij de bron en decompressie bij het doel inschakelen.
- -c: c staat voor cipher. SCP gebruikt standaard ‘AES-128’ voor het coderen van bestanden. Als u de code wilt wijzigen, moet u de optie -c gebruiken gevolgd door de cijfernaam.
- -i: i staat voor identificeer bestand of privésleutel. Over het algemeen wordt in Linux-omgevingen gekozen voor sleutelgebaseerde authenticatie. We kunnen dus specifiek het privésleutelbestand of identiteitsbestand vermelden met de optie -i.
- -l: Ik staat voor limiet bandbreedte. Met deze optie kunt u de maximale te gebruiken bandbreedte instellen. Het is in Kbit / s.
- -B: Deze optie wordt gebruikt om de batchmodus te gebruiken tijdens het kopiëren.
- -F: Deze optie wordt gebruikt voor het gebruik van een ander ssh_config-bestand tijdens het kopiëren in situaties waarin u verschillende netwerken moet gebruiken om verbinding te maken met Linux-systemen. In dergelijke scenario's moet u een vervangend SSH-configuratiebestand per gebruiker toewijzen.
- -P: Als het ssh-poortnummer van de bestemmingshost anders is dan het standaardpoortnummer 22, moet u het poortnummer specifiek vermelden met de optie -P.
- -p: Deze optie wordt gebruikt voor het behouden van bestandsrechten, wijzigingen en toegangstijden tijdens het kopiëren.
- -q: Deze optie voert het SCP-commando uit in de stille modus. Het zal de voortgangsmeter uitschakelen en zal de voortgang van de overdracht, waarschuwingen of diagnostische berichten van ssh niet op het Linux-terminalscherm weergeven.
- -r: -r optie wordt gebruikt om de bestanden en mappen recursief te kopiëren. Bijvoorbeeld, als je de hele map (samen met de inhoud in de map) naar een doelcomputer wilt kopiëren, moet je de optie -r gebruiken.
- -S: Deze optie wordt gebruikt om het programma op te geven dat moet worden gebruikt om verbinding te maken.
- -v: v staat voor uitgebreid. Deze optie toont stap voor stap de voortgang van de uitvoering van de SCP-opdracht op het terminalscherm. Het is erg handig bij het debuggen.
SCP-opdrachtvoorbeelden
Laten we aan de hand van voorbeelden begrijpen hoe u SCP Command gebruikt:
Voorbeeld 1: voor het kopiëren van de lokale naar de externe host
In het bovenstaande voorbeeld
beste websites om anime gratis te bekijken
- -v optie wordt gebruikt als een uitgebreide optie om de details van de uitvoer van dit commando op de Linux-terminal te zien. Met behulp van de uitgebreide uitvoer kunt u precies te weten komen wat er op de achtergrond gebeurt wanneer de opdracht wordt uitgevoerd. Dit helpt bij het debuggen.
- Lockfile.txt is de naam van het bronbestand dat we naar een externe host willen sturen.
- Kaushapx is een voorbeeld van een gebruikersnaam. Met behulp van deze gebruikersnaam zullen we het bestand veilig naar de externe host kopiëren.
- 10.172.80.167 is het voorbeeld van het IP-adres van de externe doelhost waarnaar we het bestand willen verzenden.
- / home / cpf657 / kaushapx / test1 is een voorbeeld van een absoluut pad waar we dit overgedragen bestand willen plaatsen.
De onderstaande schermafbeeldingen tonen de uitvoering van de bovenstaande SCP-opdracht.
Voorbeeld 2: voor het kopiëren van een externe host naar een lokaal systeem:
Voorbeeld 3: voor het kopiëren van meerdere bestanden naar een externe host:
Voorbeeld 4: voor het kopiëren van bestanden tussen twee externe systemen:
Voorbeeld 5: voor het recursief kopiëren van bestanden en mappen (met de optie -r):
Stel dat ik een map heb met de naam ‘test’ in de localhost en deze map bevat vier bestanden. Ik wil de hele map kopiëren naar een andere map met de naam ‘test1’ die aanwezig is op een externe host.
Ik zal het volgende commando gebruiken:
Voorbeeld 6: voor het verhogen van de kopieersnelheid door compressie in te schakelen (met de optie -C):
Laten we dezelfde map overbrengen als in Voorbeeld 5, maar deze keer door de compressie in te schakelen:
Voorbeeld 7: voor het beperken van de bandbreedte tijdens het kopiëren (met de optie -l):
Laten we doorgaan met dezelfde optie. Deze keer zullen we de optie -l gebruiken en de bandbreedte specificeren, zeg 500. Onthoud dat de bandbreedte die we hier hebben in Kbit / s is.
Voorbeeld 8: voor het specificeren van een andere ssh-poort tijdens het kopiëren (met de optie -P):
hoe open ik swf-bestanden
Als de externe server waarop u het bestand kopieert, een andere poort gebruikt dan de standaardpoort 22, moet u het poortnummer expliciet aangeven in de SCP-opdracht door de optie -P te gebruiken. Bijvoorbeeld, als de ssh-poort van de externe server 2022 is, dan vermeld je -P 2022 in het SCP-commando.
Voorbeeld 9: voor het behouden van bestandsrechten, wijzigingen en toegangstijden tijdens het kopiëren (met de optie -p):
Voorbeeld 10: voor het kopiëren van bestanden in stille modus (met optie -q):
Voorbeeld 11: voor het identificeren van bestanden in SCP tijdens het kopiëren (met de optie -i):
In het bovenstaande voorbeeld is my_private_key.pem het identiteitsbestand of het privésleutelbestand.
Voorbeeld 12: voor het gebruik van een ander cijfer tijdens het kopiëren via SCP (met de optie -c):
Veelgestelde vragen over SCP-opdracht
In deze sectie behandelen we enkele veelgestelde vragen over de SCP-opdracht.
V # 1) Wat is een SCP-opdracht?
Antwoord: SCP staat voor Secure Copy Protocol. Met de SCP-opdracht kunt u veilig bestanden kopiëren tussen hosts op een netwerk. Het gebruikt de mechanismen van SSH voor gegevensoverdracht. Het gebruikt verificatie op basis van een sleutel of een wachtwoord.
Q # 2) Wat doet SCP in Linux?
Antwoord: In Linux brengt de SCP-opdracht de bestanden op een veilige manier over tussen servers. Het kan een bestandskopie zijn tussen een externe server en een lokale host of tussen twee externe servers. SCP is een vooraf geïnstalleerd commando in Linux en staat bekend om zijn eenvoud en veiligheid.
V # 3) Hoe gebruiken we SCP-bestanden in Linux?
Antwoord: U kunt SCP-bestanden gebruiken met de volgende opdrachtsyntaxis:
Veel opties kunnen worden gebruikt met het SCP-commando. Bijvoorbeeld, -C voor compressie, -c voor codering, -P voor de poort, -I voor de privésleutel, -l voor limiet, -r voor recursieve kopie, enz.
V # 4) Hoe SCP we een bestand?
Antwoord: U kunt een bestand SCP gebruiken met de SCP-opdracht zoals vermeld in Q # 3.
V # 5) Kopieert of verplaatst SCP?
Antwoord: SCP-opdracht kopieert het bestand (en) van bron naar bestemming. Dus na SCP zal het bestand aanwezig zijn op beide hosts.
V # 6) Kun je SCP gebruiken voor een directory?
Antwoord: Ja, we kunnen SCP gebruiken voor een directory. U moet de optie -r gebruiken om de hele map samen met de inhoud ervan te kopiëren.
Hieronder vindt u de syntaxis van de SCP-opdracht voor het kopiëren van de map van een localhost naar een externe host:
V # 7) Hoe gebruiken we SCP voor alle bestanden in een directory?
Antwoord: Om SCP op alle bestanden in een directory te gebruiken, moet u * toevoegen met het directorypad:
Op deze manier worden alle bestanden in de lokale map naar de externe map gekopieerd.
V # 8) Kunnen we SCP gebruiken in Windows?
Antwoord: Ja, u kunt SCP gebruiken in Windows. Het is echter niet vooraf gedownload in Windows, in tegenstelling tot Linux en Mac, dus voor Windows moet u de SCP-software afzonderlijk installeren.
U kunt Putty downloaden, inclusief SCP voor Windows (software genaamd Putty SCP (PSCP), of u kunt WinSCP (Windows Secure Copy) downloaden. PSCP-client werkt rechtstreeks vanaf de Windows-opdrachtprompt. Er is ook andere software voor het gebruik van SCP in Windows .
V # 9) Hoe gebruiken we SCP voor meerdere bestanden?
Antwoord: Voor het kopiëren van meerdere bestanden van localhost naar een externe host met SCP:
Voor het kopiëren van meerdere bestanden van een externe host naar een huidige directory van localhost met SCP:
V # 10) Wat is het verschil tussen SCP en SFTP?
Antwoord: SCP is het Secure Copy Protocol. SFTP is het Secure File Transfer Protocol. Beide gebruiken TCP-poort 22 en draaien op het SSH-mechanisme. Maar ze verschillen in specificaties en functies.
SCP draagt alleen de gegevens over, terwijl SFTP naast de bestandsoverdracht ook bestandstoegang en bestandsbeheerfuncties uitvoert. Met SFTP kunt u bewerkingen uitvoeren zoals het weergeven van externe mappen of het verwijderen van bestanden. Maar SCP staat alleen het kopiëren van bestanden en mappen tussen servers toe.
De bestandsoverdrachtsnelheid in SCP is sneller dan SFTP omdat het een efficiënter algoritme gebruikt voor het overbrengen van bestanden.
cryptocurrency VPN
In SFTP kunt u de onderbroken bestandsoverdracht hervatten vanaf de opdrachtregelclient. Maar SCP heeft deze functie niet.
SFTP biedt een GUI-component, maar SCP heeft dat niet.
V # 11) Wat is de SCP-opdracht in Windows voor het veilig kopiëren van een bestand?
Antwoord: Open de Windows-opdrachtprompt en geef de onderstaande opdracht voor het veilig kopiëren van een bestand van een lokale Windows-machine naar een server (het kan een Linux-server zijn):
pscp bestandspad userid @ target_server_ip: target_path
Voorbeeld: pscp c: desktop sample.txt gebruikerxyz@192.162.x.x: /tmp/foo/sample.txt
U moet PSCP hebben geïnstalleerd om deze opdracht uit te voeren.
V # 12) Is SCP veilig?
Antwoord: Ja, SCP is veilig. Het maakt gebruik van SSH (Secure Shell Protocol) -mechanisme voor gegevensoverdracht, waardoor het profiteert van de beveiliging die SSH biedt. De gegevens die worden verzonden, worden vertrouwelijk behandeld en ook de authenticiteit ervan wordt gegarandeerd.
Gevolgtrekking
In deze tutorial hebben we gezien hoe we de SCP-opdracht kunnen gebruiken voor het veilig kopiëren van bestanden tussen twee externe hosts of tussen een lokale host en een externe host, zonder een FTP-sessie te starten of expliciet in te loggen op de externe machines.
SCP gebruikt het SSH-mechanisme voor het kopiëren van de gegevens en dus worden de gegevens die worden verzonden, versleuteld en beveiligd. Het heeft een wachtwoord of sleutel nodig voor authenticatie. In tegenstelling tot RCP (Remote Copy Protocol) of FTP (File Transfer Protocol), versleutelt SCP zowel het bestand als de wachtwoorden die tussen de systemen worden uitgewisseld om eventuele rondneuzen op het netwerk te beschermen.
Aanbevolen literatuur
- Knip Commando in Unix met voorbeelden
- Find Command in Unix: Find Files with Unix Find File (voorbeelden)
- Unix Cat Command Syntax, opties met voorbeelden
- Ls Command in Unix met voorbeelden
- Opdrachtregelargumenten in Unix Shell-script met voorbeeld
- Grep-opdracht in Unix met eenvoudige voorbeelden
- Bestandsmanipulatie in Unix: overzicht van Unix-bestandssysteem
- Unix-sorteeropdracht met syntaxis, opties en voorbeelden