12 scp command examples securely transfer files linux
Denna handledning förklarar Secure Copy Protocol eller SCP Command som används för att säkert kopiera filerna i Linux och Unix med syntax och exempel:
I den här artikeln kommer vi att diskutera SCP-kommandot (Secure Copy Protocol) som används för filöverföring. Vi får se vad det är och hur det fungerar med hjälp av några exempel. Så låt oss först försöka förstå vad som är SCP-kommando.
Vad du kommer att lära dig:
Vad är SCP Command?
SCP (Secure Copy Protocol) är ett nätverksprotokoll som används för att säkert överföra filerna mellan värdarna i ett datanätverk. Med hjälp av detta kommandoradsverktyg i Linux- och Unix-liknande system kan du göra filöverföring från en lokal värd till en fjärrvärd eller från en fjärrvärd till ett lokalt system eller mellan två fjärrvärdar.
(bild källa )
SCP säkerställer datans äkthet, kryptering och konfidentialitet genom att använda SSH-mekanismen (Secure Shell) för att överföra filerna. Så informationen under transport skyddas från snooping-attackerna. Kunder kan ladda upp och ladda ner filer och kataloger till och från en server med detta protokoll. Det kräver antingen lösenord eller nycklar för autentisering. Standardporten för SCP är TCP-port 22.
Fördelen med SCP-protokollet är att du inte behöver starta en FTP-session eller logga in på fjärrvärdarna uttryckligen för filöverföring.
Syntax för SCP-protokoll
# 1) För att kopiera filen från lokal till fjärrvärden
scp (options) SourceFileName UserName@TargetHost:TargetPath
Detta är den mycket grundläggande syntaxen för SCP-kommandot som kopierar källfilen från den aktuella värden till målvägen på målvärden med ett användarkonto. Vanligtvis liknar det kommandot copy cp.
# 2) För kopiering från en fjärrvärd till lokal
För kopiering av fil:
scp (options) UserName@SourceHost:SourceFilePath TargetFileName
Eller, ladda bara ner filen:
scp (options) UserName@SourceHost:SourceFilePath
För kopiering av mapp (rekursivt):
scp -r UserName@SourceHost:SourceDirectoryPath TargetFolderName
Om fjärrvärden använder en annan port än standardport 22 måste portnumret uttryckligen nämnas i kommandot med alternativet -P.
# 3) Kopiering från en fjärrdator till en annan fjärrdator
scp (options) UserName@SourceHost:SourcePath UserName@TargetHost:TargetPath
När du kopierar filer från en fjärrdator till en annan passerar inte trafiken din dator. Denna operation sker direkt mellan de två fjärrservrarna.
# 4) Kopiera flera filer
För att kopiera flera filer från localhost till en fjärrvärd:
scp file1 file2 UserName@TargetHost:TargetDirectoryPath
För att kopiera flera filer från en fjärrvärd till en aktuell katalog över localhost:
scp UserName@SourceHost:SourceDirectoryPath{file1, file2}
Alternativ som används med SCP-kommando
De vanligaste alternativen med SCP-kommando listas nedan:
- -C : C, här står för aktivera komprimering. Genom att använda detta alternativ kommer komprimering att aktiveras och överföringshastigheten kommer att ökas under kopiering. Det aktiverar automatiskt komprimering vid källan och dekompression vid målet.
- -c: c står för chiffer. Som standard använder SCP 'AES-128' för kryptering av filer. Om du vill ändra chiffer måste du använda -c-alternativet följt av chiffernamn.
- -i: i står för identifieringsfil eller privat nyckel. I allmänhet väljs nyckelbaserad autentisering i Linux-miljöer. Så vi kan specifikt nämna den privata nyckelfilen eller identitetsfilen med -i-alternativet.
- -l: Jag står för gränsbandbredd. Genom detta alternativ kan du ställa in maximal bandbredd som ska användas. Det är i Kbits / s.
- -B: Detta alternativ används för att använda batch-läge under kopiering.
- -F: Detta alternativ används för att använda en annan ssh_config-fil medan du kopierar i situationer där du behöver använda olika nätverk för att ansluta till Linux-system. I sådana scenarier måste du tilldela en ersättnings-SSH-konfigurationsfil per användare.
- -P: Om destinationsvärdens ssh-portnummer skiljer sig från standardportnummer 22, måste du specifikt nämna portnumret med hjälp av -P-alternativet.
- -p: Det här alternativet används för att bevara filbehörigheter, ändringar och åtkomsttider under kopiering.
- -q: Det här alternativet kör SCP-kommandot i tyst läge. Det stänger av framstegsmätaren och visar inte överföringsförlopp, varning eller diagnostiska meddelanden för ssh på Linux-terminalskärmen.
- -r: -r alternativet används för att kopiera filer och kataloger rekursivt. Till exempel, om du vill kopiera hela mappen (tillsammans med innehållet i mappen) på en måldator måste du använda -r-alternativet.
- -S: Detta alternativ används för att specificera programmet som ska användas för anslutning.
- -v: v står för närmare. Detta alternativ visar steg för steg hur SCP-kommandot körs på terminalskärmen. Det är verkligen bra för felsökning.
SCP-kommandoexempel
Låt oss förstå hur man använder SCP Command med hjälp av exempel:
Exempel 1: för kopiering från lokal till fjärrvärd
scp -v lockfile.txt kaushapx@10.172.80.167: /home/cpf657/kaushapx/test1
I exemplet ovan,
vad man ska öppna bin-filer med
- -v-alternativet används som ett detaljerat alternativ för att se detaljerna om utdata för detta kommando på Linux-terminalen. Med den detaljerade utgången kan du lära dig exakt vad som händer i bakgrunden när kommandot utförs. Detta hjälper till att felsöka.
- Lockfile.txt är källfilens namn som vi vill överföra till en fjärrvärd.
- Kaushapx är ett exempel på ett användarnamn. Med detta användarnamnkonto kopierar vi filen säkert till fjärrvärden.
- 10.172.80.167 är exemplet på IP-adressen för den fjärrvärden som vi vill överföra filen till.
- / home / cpf657 / kaushapx / test1 är ett exempel på en absolut sökväg där vi vill lägga den överförda filen.
Nedanstående skärmdumpar visar utförandet av ovanstående SCP-kommando.
Exempel 2: för kopiering från fjärrvärd till lokalt system:
scp kaushapx@10.172.80.167:/home/cpf657/kaushapx/test/parent/directory1/DemoFile.txt /home/tpf655/kaushapx
Exempel 3: för att kopiera flera filer till en fjärrvärd:
scp DemoFile.txt log.xml kaushapx@10.172.80.167:/home/cpf657/kaushapx/test
Exempel 4: för kopiering av filer över två fjärrsystem:
scp kaushapx@10.172.80.167:/home/cpf657/kaushapx/console.txt kaushapx@10.182.46.76:/home/tpf655/kaushapx/test
Exempel 5: för att kopiera filer och kataloger rekursivt (med alternativet -r):
Antag att jag har en mapp som heter “test” i localhost och den här mappen innehåller fyra filer. Jag vill kopiera hela mappen inuti en annan mapp som heter 'test1' som finns på en fjärrvärd.
Jag kommer att använda följande kommando:
scp -r test kaushapx@10.172.80.167:/home/cpf657/kaushapx/test1
Exempel 6: för att öka kopieringshastigheten genom att aktivera komprimering (med alternativet -C):
Låt oss överföra samma mapp som vi gjorde i exempel 5, men den här gången genom att aktivera komprimering:
scp -r -C test kaushapx@10.172.80.167:/home/cpf657/kaushapx/test1
Exempel 7: för att begränsa bandbredden vid kopiering (med alternativet -l):
Låt oss fortsätta med samma alternativ. Den här gången använder vi -l-alternativet och anger bandbredd, säg 500. Kom ihåg att bandbredden vi har lagt här finns i Kbit / s.
Exempel 8: för att specificera olika ssh-portar vid kopiering (med -P-alternativet):
Om fjärrservern som du kopierar filen använder någon annan port än standardporten 22 måste du uttryckligen meddela portnumret i SCP-kommandot med -P-alternativet. Till exempel, om ssh-porten på fjärrservern är 2022 kommer du att nämna -P 2022 i SCP-kommandot.
scp -P 2022 console.txt kaushapx@10.182.46.76:/home/tpf655/kaushapx/test
Exempel 9: för att bevara filbehörigheter, ändringar och åtkomsttider under kopiering (med alternativet -p):
scp -p console.txt kaushapx@10.172.80.167:/home/cpf657/kaushapx/test1
Exempel 10: för att kopiera filer i tyst läge (med alternativet -q):
scp -q console.txt kaushapx@10.172.80.167:/home/cpf657/kaushapx/test1
Exempel 11: för att identifiera filer i SCP under kopiering (med alternativet -i):
I exemplet ovan är my_private_key.pem identitetsfilen eller den privata nyckelfilen.
Exempel 12: för att använda en annan chiffer vid kopiering via SCP (med -c-alternativet):
scp -c 3des-cbc -r test1 kaushapx@10.182.46.76:/home/tpf655/kaushapx/test
Vanliga frågor om SCP-kommando
I det här avsnittet kommer vi att täcka några vanliga frågor om SCP-kommandot.
F # 1) Vad är SCP-kommando?
hur man implementerar kö i Java
Svar: SCP står för Secure Copy Protocol. Med SCP-kommandot kan du kopiera filer säkert mellan värdar i ett nätverk. Den använder mekanismerna för SSH för dataöverföring. Den använder antingen nyckel- eller lösenordsbaserad autentisering.
F # 2) Vad gör SCP i Linux?
Svar: I Linux överför SCP-kommandot filerna mellan servrar på ett säkert sätt. Det kan vara en filkopia mellan en fjärrserver och en lokal värd eller mellan två fjärrservrar. SCP är ett förinstallerat kommando i Linux och är känt för sin enkelhet och säkerhet.
F # 3) Hur SCP-filer i Linux?
Svar: Du kan SCP-filer med följande kommandosyntax:
scp (options) (username@)(source_host:)file1 (username@)(destination_host:)file2.
Många alternativ kan användas med SCP-kommandot. Till exempel, -C för komprimering, -c för chiffer, -P för porten, -I för den privata nyckeln, -l för gräns, -r för rekursiv kopia etc.
F # 4) Hur SCPar vi en fil?
Svar: Du kan SCP en fil med SCP-kommandot som nämns i Q # 3.
F # 5) Kopierar eller flyttar SCP?
Svar: SCP-kommandot kopierar filerna från källan till destinationen. Så efter SCP kommer filen att finnas hos båda värdarna.
F # 6) Kan du använda SCP för en katalog?
Svar: Ja, vi kan använda SCP för en katalog. Du måste använda alternativet -r för att kopiera hela katalogen tillsammans med dess innehåll.
Nedan är SCP-kommandosyntaxen för att kopiera katalogen från en lokal värd till en fjärrvärd:
scp -r localhost_path_to_directory username@target_server_ip:/path_to_target_directory/
F # 7) Hur använder vi SCP för alla filer i en katalog?
Svar: För att använda SCP på alla filer i en katalog måste du lägga till * med katalogvägen:
scp -r localhost_path_to_directory/* username@target_server_ip:/path_to_target_directory/
På så sätt kopieras alla filer i den lokala katalogen till fjärrkatalogen.
F # 8) Kan vi använda SCP i Windows?
Svar: Ja, du kan använda SCP i Windows. Det är dock inte nedladdat i Windows, till skillnad från Linux och Mac, så för Windows måste du installera SCP-programvaran separat.
Du kan ladda ner Putty som inkluderar SCP för Windows (programvara som heter Putty SCP (PSCP), eller så kan du ladda ner WinSCP (Windows Secure Copy). PSCP-klienten körs direkt från Windows kommandotolken. Det finns också annan programvara för att använda SCP i Windows .
F # 9) Hur använder vi SCP för flera filer?
Svar: För att kopiera flera filer från localhost till en fjärrvärd med SCP:
scp file1 file2 UserName@TargetHost:TargetDirectoryPath
För att kopiera flera filer från en fjärrvärd till en aktuell katalog över localhost med SCP:
scp UserName@SourceHost:SourceDirectoryPath{file1, file2}
F # 10) Vad är skillnaden mellan SCP och SFTP?
Svar: SCP är Secure Copy Protocol. SFTP är Secure File Transfer Protocol. Båda använder TCP-port 22 och körs på SSH-mekanismen. Men de skiljer sig åt i specifikationer och funktioner.
SCP överför endast data, medan SFTP också utför filåtkomst och filhanteringsfunktioner, förutom filöverföringen. Med SFTP kan du göra åtgärder som att lista fjärrkataloger eller ta bort filer. Men SCP tillåter bara kopiering av filer och kataloger mellan servrar.
Filöverföringshastigheten i SCP är snabbare än SFTP eftersom den använder en effektivare algoritm för överföring av filer.
den bästa youtube till mp3-omvandlaren
I SFTP kan du återuppta avbruten filöverföring från kommandoradsklienten. Men SCP har inte den här funktionen.
SFTP erbjuder en GUI-komponent men SCP har inte det.
F # 11) Vad är SCP-kommandot i Windows för säker kopiering av en fil?
Svar: Öppna Windows Command Prompt och ge kommandot nedan för att säkert kopiera en fil från en lokal Windows-maskin till en server (det kan vara en Linux-server):
pscp filpath userid @ target_server_ip: target_path
Exempel: pscp c: desktop sample.txt userxyz@192.162.x.x: /tmp/foo/sample.txt
Du bör ha PSCP installerat för att utföra detta kommando.
F # 12) Är SCP Secure?
Svar: Ja, SCP är säkert. Den använder SSH-mekanismen (Secure Shell Protocol) för dataöverföring, vilket gör att den får nytta av den säkerhet som erbjuds av SSH. Uppgifterna under transport hålls konfidentiella och dess äkthet säkerställs.
Slutsats
I denna handledning har vi sett hur man använder SCP-kommandot för att säkert kopiera filerna mellan två fjärrvärdar eller mellan en lokal värd och en fjärrvärd utan att initiera en FTP-session eller logga in på fjärrmaskinerna uttryckligen.
SCP använder SSH-mekanismen för att kopiera data och därmed krypteras och skyddas data under transport. Det behöver ett lösenord eller en nyckel för autentisering. I motsats till RCP (Remote Copy Protocol) eller FTP (File Transfer Protocol) krypterar SCP både filen och lösenorden som utbyts mellan systemen för att skydda snooping i nätverket.
Rekommenderad läsning
- Klipp kommandot i Unix med exempel
- Hitta kommando i Unix: Hitta filer med Unix Find-fil (exempel)
- Unix Cat Command Syntax, alternativ med exempel
- Ls Command i Unix med exempel
- Kommandoradsargument i Unix Shell-skript med exempel
- Grep Command i Unix med enkla exempel
- Filmanipulation i Unix: Översikt över Unix File System
- Unix Sorteringskommando med syntax, alternativ och exempel