16 Common SCP commands with Examples to Copy Files and Folders

SCP is nauw verwant aan het SSH-protocol en is inderdaad vanuit hetzelfde idee ontstaan.

SCP zorgt ervoor dat gegevens tijdens de overdracht vertrouwelijk en ongehinderd blijven, als uitbreiding van het SSH-protocol.

Laten we eerst begrijpen hoe dit SCP werkt, en dan zullen we de scp-opdrachten zien.

Wat is SCP?

Een computer met twee Secure Copy Protocol-monitoren en een wereldbol erop.

SCP staat voor Safe Copy Protocol.

Het is een veilige en efficiënte methode voor het kopiëren van bestanden en mappen tussen lokale en externe hosts of tussen twee externe hosts.

Het wordt veel gebruikt voor het veilig overbrengen van gegevens by way of een netwerk. SCP vertrouwt op SSH (Safe Shell) om een ​​veilige verbinding tot stand te brengen en de gegevens tijdens de overdracht te versleutelen.

Of u nu een enkel bestand of een hele map moet verplaatsen, SCP biedt een betrouwbare oplossing voor bestandsoverdracht op afstand.

Hoe SCP werkt?

Twee laptops gebruiken Secure Copy Protocol om mappen onderling over te dragen.

SCP is gebouwd bovenop het SSH-protocol – een cryptografisch netwerkprotocol voor veilig inloggen op afstand en uitvoering van opdrachten. Het gebruikt dezelfde beveiligingsmechanismen als SSH, inclusief encryptie en authenticatie, om gegevens tijdens de verzending te beschermen.

Bij gebruik van SCP initieert een gebruiker een kopieeropdracht op zijn lokale machine die het bronbestand en de bestemmingslocatie op een externe machine specificeert. SCP brengt een SSH-verbinding tot stand met het externe systeem en kopieert vervolgens de bestanden veilig van de bron naar de bestemming.

Wanneer SCP gebruiken?

Een computer met een beveiligd bestandsoverdrachtprotocol (SFTP) en een tandwiel erop.

SCP is met title handig in de volgende state of affairs’s.

Again-up van externe servers

Met SCP kunt u een back-up maken van bestanden van een externe server naar uw lokale machine of omgekeerd, wat gegevensredundantie en noodherstel garandeert.

Implementatie van applicaties

Het vereenvoudigt ook het proces door de benodigde bestanden veilig naar elk doelsysteem te kopiëren bij het implementeren van applicaties op meerdere servers.

Grote bestanden overbrengen

SCP biedt een betrouwbare en veilige alternatieve methode voor het verzenden van gegevens voor grote bestanden die mogelijk te groot zijn om als e-mailbijlage te verzenden.

Veilig bestanden delen

SCP zorgt ervoor dat de gegevens tijdens het transport gecodeerd blijven terwijl vertrouwelijke bestanden naar andere mensen worden verzonden.

Samenwerking op afstand

SCP kan worden gebruikt om bestanden veilig te delen met medewerkers of teamleden op verschillende locaties.

SCP-opdrachtsyntaxis

Voordat we aan de slag gaan met het gebruik van de SCP-opdracht, moeten we eerst de basissyntaxis begrijpen.

De syntaxis van de SCP-opdracht ziet er als volgt uit:

scp [options] [source] [destination]

Uitleg van syntaxis

Opties

Dit zijn optionele vlaggen die het gedrag van de SCP-opdracht wijzigen. U kunt verschillende opties gebruiken om het overdrachtsproces aan te passen. Hier zijn enkele veelvoorkomende opties:

-R: Kopieert recursief mappen en hun inhoud.
-P: Behoud de machtigingen, tijdstempels en modi van het originele bestand.
-P: Specificeert het poortnummer voor de SSH-verbinding.
-i: Specificeert het privésleutelbestand voor SSH-authenticatie.
-C: Gebruik compressie om de gegevensoverdracht te versnellen.
-l: Beperk de bandbreedte die wordt gebruikt voor de overdracht (in Kbit/s).
-v: Uitgebreide modus – geeft foutopsporingsberichten weer tijdens de overdracht.
-O: Geeft een optie door aan de SSH-client. Het kan worden gebruikt om strikte controle van de hostsleutel uit te schakelen.

Bron

De bron specificeert het bestand of de map die u wilt kopiëren. Het kan een lokaal pad of een pad op afstand zijn, afhankelijk van de context.

Bestemming

De bestemming geeft aan waar u de bron wilt kopiëren. Web als de bron kan het ook een lokaal pad of een pad op afstand zijn.

Commandovoorbeelden

#1. Kopieer een bestand van de lokale naar de externe server

scp /path/to/native/file.txt consumer@remotehost:/path/to/vacation spot/

/pad/naar/lokaal/bestand.txt: Dit is het bronbestand dat u van uw lokale pc wilt kopiëren.

gebruiker@remotehost: Vervang de gebruiker door de naam van de externe gebruiker en de externe host door de hostnaam of het IP-adres van de externe server.

/pad/naar/bestemming/: Dit is het bestemmingspad op de externe server waar het bestand naartoe wordt gekopieerd.

Voorbeeld: In mijn geval heb ik één externe server gekozen voor het overbrengen van het bestand.

Gebruikersnaam voor externe host Abhishekvarma

Extern hostadres – 192.168.29.70

scp /house/vboxuser/Desktop/pattern.zip [email protected]:/Customers/abhishekvarma/Desktop

Wanneer u verbinding maakt met een externe machine, wordt om het wachtwoord gevraagd. Hier heb ik een zipbestand geselecteerd om te kopiëren.

Uitvoer

Ubuntu-opdrachtregel - beveiligd kopieerprotocol voor het overbrengen van bestanden.

En de uitvoer zal er zo uitzien als er geen fout is opgetreden bij het verbinden met een externe server.

pattern.zip                                    100%   20KB  717.9KB/s   00:00

#2. Kopieer een bestand van de externe naar de lokale machine

scp consumer@remotehost:/path/to/distant/file.txt /path/to/native/vacation spot/

Hetzelfde als hierboven, vervang het gebruiker- en externe hostadres.

Voorbeeld

scp [email protected]:/Customers/abhishekvarma/Desktop/pattern.zip /house/vboxuser/Desktop

Uitvoer

Een screenshot van een computerscherm waarop het Secure Copy Protocol wordt weergegeven.

Dit is slechts de voorbeelduitvoer in mijn geval. Tijdstempel varieert afhankelijk van de verbindingssnelheid.

pattern.zip                                    100%   20KB  51.2KB/s   00:00

#3. Kopieer een listing recursief

scp consumer@remotehost:/path/to/distant/file.txt /path/to/native/vacation spot/

Hier vertelt de vlag ‘-r’ SCP om mappen recursief te kopiëren (inclusief submappen en hun inhoud).

Voorbeeld

scp -r /house/vboxuser/Desktop [email protected]:/Customers/abhishekvarma/Desktop

Hier noemde ik de hele map om de bestanden te kopiëren.

Uitvoer

Een screenshot van een bestand dat veilig is overgedragen met behulp van het Secure Copy Protocol (SCP), weergegeven op een computerscherm.
pattern.zip                                         100%   20KB    1.0MB/s   00:00
Screenshot from 2023-08-13 21-45-23.png            100%   27KB    1.5MB/s   00:00
.swp                                               100%   12KB  894.2KB/s   00:00
.assist.swp                                          100%   12KB  780.4KB/s   00:00

#4. Kopieer bestanden die overeenkomen met een patroon

scp /path/to/native/*.txt consumer@remotehost:/path/to/vacation spot/

*.tekst – Dit is een jokertekenpatroon dat overeenkomt met alle bestanden met de extensie .txt in de opgegeven lokale map. Bron- en bestemmingspaden zijn hetzelfde als voorheen.

Voorbeeld

scp /house/vboxuser/Desktop/locfolder/*.png [email protected]:/Customers/abhishekvarma/Desktop

Uitvoer

Ubuntu ssh-client - miniatuur van screenshot met ondersteuning voor Secure Copy Protocol.

Hier heb ik het geprobeerd met een .png-extensie.

Screenshot from 2023-08-13 21-45-23.png            100%   27KB    1.4MB/s   00:00
Screenshot from 2023-08-13 21-55-28.png            100%   24KB    1.7MB/s   00:00
Screenshot from 2023-08-13 22-04-03.png            100%   38KB    2.1MB/s   00:00

#5. Bestandskenmerken behouden

scp -p /path/to/native/file.txt consumer@remotehost:/path/to/vacation spot/

Hier behoudt de vlag ‘-p’ de wijzigingstijden, toegangstijden en modi van het bronbestand tijdens het kopiëren.

Voorbeeld

scp -p /house/vboxuser/Desktop/pattern.zip [email protected]:/Customers/abhishekvarma/Desktop

Uitvoer

Ubuntu-terminal - miniatuur van screenshot met Secure Copy Protocol-integratie.
pattern.zip                                         100%   20KB    420.0KB/s   00:00

#6. Geef een andere SSH-poort op

scp -P 22 /path/to/native/file.txt consumer@remotehost:/path/to/vacation spot/

De vlag ‘-P’ specificeert een andere SSH-poort (in dit geval 22) voor de SCP-verbinding. Je kunt elke gewenste poort gebruiken.

Voorbeeld

scp -P 22 /house/vboxuser/Desktop/pattern.zip [email protected]:/Customers/abhishekvarma/Desktop

Uitvoer

Een screenshot van een beveiligde kopieerprotocoloverdracht in een Ubuntu-terminal.
pattern.zip                                         100%   20KB    1.2MB/s   00:00

#7. Kopiëren met compressie

scp -C /path/to/native/file.txt consumer@remotehost:/path/to/vacation spot/

Deze ‘-C’-vlag maakt compressie mogelijk tijdens de overdracht, waardoor de omvang van de overgedragen gegevens mogelijk wordt verkleind. Het bron- en bestemmingsadres zijn hetzelfde zoals eerder uitgelegd.

Voorbeeld

scp -C /house/vboxuser/Desktop/pattern.zip [email protected]:/Customers/abhishekvarma/Desktop

Uitvoer

Een screenshot van een computerscherm waarop een bestandsoverdracht wordt weergegeven met behulp van Secure Copy Protocol.
pattern.zip                                         100%   20KB    985.8KB/s   00:00

#8. Uitgebreide uitvoer voor foutopsporing

scp -v /path/to/native/file.txt consumer@remotehost:/path/to/vacation spot/

Deze ‘-v’-optie activeert de uitgebreide uitvoer, die meer gedetailleerde informatie biedt tijdens het overdrachtsproces.

Voorbeeld

scp -v /house/vboxuser/Desktop/pattern.zip [email protected]:/Customers/abhishekvarma/Desktop

Uitvoer

Ubuntu-terminal - Secure Copy Protocol.

De voorbeelduitvoer ziet er als volgt uit.

Executing: program /usr/bin/ssh host 192.168.29.70, consumer abhishekvarma, command scp -v -t /Customers/abhishekvarma/Desktop OpenSSH_8.9p1 Ubuntu-3ubuntu0.3, OpenSSL 3.0.2 15 Mar 2022
debug1: Studying configuration information /and so on/ssh/ssh_config
debug1: /and so on/ssh/ssh_config line 19: embrace /and so on/ssh/ssh_config.d/*.conf matched no recordsdata
debug1: /and so on/ssh/ssh_config line 21: Making use of choices for *
debug1: Connecting to 192.168.29.70 [192.168.29.70] port 22. debug1: Connection established.
debug1: identification file /root/.ssh/id_rsa sort -1
debug1: identification file /root/.ssh/id_rsa-cert sort -1 debug1: identification file /root/.ssh/id_ecdsa sort -1 debug1: identification file /root/.ssh/id_ecdsa-cert sort -1 debug1: identification file /root/.ssh/id_ecdsa_sk sort -1 debug1: identification file /root/.ssh/id_ecdsa_sk-cert sort -1

#9. Kopieer van extern naar lokaal met uitgebreide uitvoer

scp -v consumer@remotehost:/path/to/distant/file.txt /path/to/native/vacation spot/

Dezelfde uitleg als het vorige uitgebreide voorbeeld, waarbij de rollen van lokale en afgelegen locaties omgedraaid zijn.

Voorbeeld

scp -v [email protected]:/Customers/abhishekvarma/Desktop/pattern.zip /house/vboxuser/Desktop

Uitvoer

Een screenshot die het Secure Copy Protocol demonstreert, geïmplementeerd in een Python-script op een pc.

De uitvoer ziet er als volgt uit.

Executing: program /usr/bin/ssh host 192.168.29.70, consumer abhishekvarma, command scp -v -f /Customers/abhishekvarma/Desktop/pattern.zip OpenSSH_8.9p1 Ubuntu-3ubuntu0.3, OpenSSL 3.0.2 15 Mar 2022
debug1: /and so on/ssh/ssh_config line 19: embrace /and so on/ssh/ssh_config.d/*.conf matched no recordsdata
debug1: Studying configuration information /and so on/ssh/ssh_config
debug1: /and so on/ssh/ssh_config line 21: Making use of choices for *
debug1: Connecting to 192.168.29.70 [192.168.29.70] port 22. debug1: Connection established.
debug1: identification file /root/.ssh/id_rsa sort -1
debug1: identification file /root/.ssh/id_rsa-cert sort -1 debug1: identification file /root/.ssh/id_ecdsa sort -1 debug1: identification file /root/.ssh/id_ecdsa-cert sort -1 debug1: identification file /root/.ssh/id_ecdsa_sk sort -1 debug1: identification file /root/.ssh/id_ecdsa_sk-cert sort -1

#10. Kopiëren met een andere SSH-sleutel


scp -i /path/to/private_key.pem /path/to/native/file.txt consumer@remotehost:/path/to/vacation spot/

Deze vlag “-i /path/to/private_key.pem” specificeert een andere SSH-privésleutel voor authenticatie.

Voorbeeld

scp -i /path/to/private_key.pem /house/vboxuser/Desktop/pattern.zip [email protected]:/Customers/abhishekvarma/Desktop

Uitvoer

Ubuntu-terminal - miniatuur van screenshot met Secure Copy Protocol.

Als u een privésleutel heeft, kunt u deze gebruiken, maar u kunt ook de standaardsleutel gebruiken.

pattern.zip                                         100%   20KB    1.1MB/s   00:00

#11. Kopieer meerdere bestanden naar de externe server

scp file1.txt file2.txt consumer@remotehost:/path/to/vacation spot/

Met deze opdracht kopieert u file1.txt en file2.txt van de lokale map naar de opgegeven bestemming op de externe server.

Voorbeeld

scp  /house/vboxuser/Desktop/picture.png  /house/vboxuser/Desktop/pattern.zip  [email protected]:/Customers/abhishekvarma/Desktop 

Ouitvoer

Ubuntu-terminal - miniatuur van screenshot met Secure Copy Protocol.
picture.png                                          100%   39KB    1.4MB/s   00:00
pattern.zip                                         100%   20KB    1.5MB/s   00:00

#12. Kopieer een extern bestand met een andere naam

scp consumer@remotehost:/path/to/distant/file.txt /path/to/native/newfilename.txt

Met deze opdracht kopieert u bestand.txt van de externe server naar de lokale map, waarbij u de naam ervan wijzigt in nieuwebestandsnaam.txt.

Voorbeeld

scp [email protected]:/Customers/abhishekvarma/Desktop/pattern.zip /house/vboxuser/Desktop/newfile.zip

Uitvoer

Een veilige schermafbeelding van een Python-programma op een telefoon dat gebruikmaakt van het Secure Copy Protocol.

De oude en nieuwe bestandsextensies moeten hetzelfde zijn tijdens het uitvoeren van deze opdracht.

pattern.zip                                         100%   20KB    28.7KB/s   00:00

#13. Kopiëren met specifieke bandbreedtelimiet

scp -l 1000 /path/to/native/file.txt consumer@remotehost:/path/to/vacation spot/

Deze ‘-l’-vlag specificeert een bandbreedtelimiet in Kbps (in dit geval 1000 Kbps) voor de overdracht.

Voorbeeld

scp -l 300 /house/vboxuser/Desktop/pattern.zip [email protected]:/Customers/abhishekvarma/Desktop

Uitvoer

Ubuntu-terminal - miniatuur van screenshot met Secure Copy Protocol voor bestandsoverdracht.
pattern.zip                                         100%   20KB    31.3KB/s   00:00
scp -rp /path/to/native/supply/ consumer@remotehost:/path/to/vacation spot/

De vlag ‘-p’ behoudt bestandskenmerken en de vlag -r kopieert recursief mappen. Met deze opdracht blijven ook symbolische koppelingen behouden tijdens het kopiëren.

Voorbeeld

scp -rp /house/vboxuser/Desktop/picture.png [email protected]:/Customers/abhishekvarma/Desktop

Uitvoer

Ubuntu-terminal - miniatuur van screenshot voor Secure Copy Protocol.
picture.png                                        100%   39KB    1.8MB/s   00:00

#15. Bestanden uitgebreid kopiëren met compressie

scp -vC /path/to/native/file.txt consumer@remotehost:/path/to/vacation spot/

Deze opdracht combineert zowel uitgebreide uitvoer (-v) als compressie (-C) tijdens de bestandsoverdracht.

Voorbeeld

scp -vC /house/vboxuser/Desktop/picture.png [email protected]:/Customers/abhishekvarma/Desktop

Uitvoer

Een screenshot van een computerscherm met een Secure Copy Protocol (SCP)-sessie met een lijst met bestanden.

De uitvoer ziet er als volgt uit.

scp: debug1: fd 3 clearing O_NONBLOCK
Sending file modes: C0664 40050 picture.png
Sink: C0664 40050 picture.png
picture.png
d 6 clearing O_NONBLOCK
scp: debug1: fd • clearing O_NONBLOCK
picture.png
debug1: client_input_channel_req: channel ✪ sort exit-status reply debug1: channel 0: free: client-session, channels 1
Transferred: despatched 40220, acquired 2576 bytes, in 0.1 seconds
Bytes per second: despatched 352570.0, acquired 22581.3
root@ubuntu: ~
debug1: Exit standing 0
debug1: compress outgoing: uncooked information 40287, compressed 38198, issue 0.95 debug1: compress incoming: uncooked information 792, compressed 757, issue 0.96 

#16. Kopiëren tussen twee externe servers

Als u bestanden van de ene externe server naar de andere wilt overbrengen, kunt u deze opdracht gebruiken.

scp user1@remotehost1:/path/to/distant/file.txt user2@remotehost2:/path/to/vacation spot/

Deze opdracht draagt ​​file.txt rechtstreeks over van remotehost1 naar remotehost2.

Voorbeeld

scp user1@remotehost1:/path/to/distant/file.txt [email protected]:/Customers/abhishekvarma/Desktop

Uitvoer

file.txt                100%  512KB 512.0KB/s   00:00

Als er fouten of problemen optreden tijdens de overdracht, kan de uitvoer foutmeldingen weergeven die informatie geven over wat er mis is gegaan.

ssh: connect with host supply.instance.com port 22: Connection refused
misplaced connection

In dit geval suggereert het foutbericht dat de SSH-verbinding met de bronserver is geweigerd. Dit kan verschillende redenen hebben, zoals een onjuiste hostnaam, IP-adres, poort of problemen met de SSH-configuratie.

Veelgestelde vragen over SCP

Hier vindt u enkele veelgestelde vragen met betrekking tot het SCP-protocol, samen met de antwoorden.

Waarin verschilt SCP van FTP of SFTP?

FTP staat voor File Switch Protocol.

SFTP staat voor File Switch Protocol. Deze worden beide gebruikt voor bestandsoverdracht.

SCP werkt by way of SSH en biedt zowel codering als authenticatie in één enkel protocol, waardoor het veiliger en efficiënter wordt.

Wanneer moet ik SCP gebruiken?

SCP is het meest geschikt voor state of affairs’s waarin veilige en betrouwbare bestandsoverdrachten vereist zijn, zoals externe back-ups, software-implementatie, het distribueren van configuratiebestanden en samenwerking tussen teamleden.

Is SCP compatibel met IPv6-adressen?

Ja, SCP ondersteunt zowel IPv4- als IPv6-adressen, waardoor u bestanden kunt overbrengen by way of netwerken die elk adresseringsschema gebruiken.

Conclusie✍️

Ik hoop dat je dit artikel nuttig vond bij het leren over SCP en hoe het werkt.

Mogelijk bent u ook geïnteresseerd in het leren kennen van de Linux-opdrachten voor systeembeheerder

Leave a Comment

porno izle altyazılı porno porno