12 scp command examples securely transfer files linux
Denne vejledning forklarer Secure Copy Protocol eller SCP Command, der bruges til sikker kopiering af filerne i Linux og Unix med syntaks og eksempler:
I denne artikel vil vi diskutere SCP-kommandoen (Secure Copy Protocol), der bruges til filoverførsel. Vi vil se, hvad det er, og hvordan det fungerer ved hjælp af et par eksempler. Så lad os først prøve at forstå, hvad der er SCP-kommando.
Hvad du vil lære:
Hvad er SCP Command?
SCP (Secure Copy Protocol) er en netværksprotokol, der bruges til sikker overførsel af filerne mellem værter på et computernetværk. Ved hjælp af dette kommandolinjeprogram i Linux og Unix-lignende systemer kan du udføre filoverførsel fra en lokal vært til en fjernhost eller fra en fjernhost til et lokalt system eller mellem to fjernhoster.
(billede kilde )
SCP sikrer ægtheden, krypteringen og fortroligheden af dataene ved at gøre brug af SSH (Secure Shell) mekanisme til overførsel af filerne. Så dataene under transport er beskyttet mod snooping-angrebene. Kunder kan uploade og downloade filer og mapper til og fra en server ved hjælp af denne protokol. Det kræver enten adgangskode eller nøgler til godkendelse. Standardporten til SCP er TCP-port 22.
Fordelen ved SCP-protokollen er, at du ikke behøver at starte en FTP-session eller logge ind på fjernværterne eksplicit til filoverførsel.
Syntaks til SCP-protokol
# 1) Til kopiering af filen fra lokal til ekstern vært
scp (options) SourceFileName UserName@TargetHost:TargetPath
Dette er den meget basale syntaks af SCP-kommandoen, der kopierer kildefilen fra den aktuelle vært til målstien på målværten ved hjælp af en brugerkonto. Det svarer typisk til kopien cp-kommandoen.
# 2) Til kopiering fra en ekstern vært til lokal
Til kopiering af fil:
scp (options) UserName@SourceHost:SourceFilePath TargetFileName
Eller, skal du blot downloade filen:
scp (options) UserName@SourceHost:SourceFilePath
Til kopiering af mappe (rekursivt):
scp -r UserName@SourceHost:SourceDirectoryPath TargetFolderName
Hvis fjernværten bruger en anden port end standardport 22, skal portnummeret nævnes eksplicit i kommandoen ved hjælp af -P-indstillingen.
# 3) Kopiering fra en fjerncomputer til en anden fjerncomputer
scp (options) UserName@SourceHost:SourcePath UserName@TargetHost:TargetPath
Når du kopierer filer fra en fjerncomputer til en anden, passerer trafikken ikke forbi din computer. Denne handling finder sted direkte mellem de to eksterne servere.
# 4) Kopiering af flere filer
Til kopiering af flere filer fra localhost til en ekstern vært:
scp file1 file2 UserName@TargetHost:TargetDirectoryPath
Til kopiering af flere filer fra en ekstern vært til en aktuel mappe med localhost:
scp UserName@SourceHost:SourceDirectoryPath{file1, file2}
Valgmuligheder brugt med SCP-kommando
De mest anvendte indstillinger med SCP-kommando er angivet nedenfor:
- -C : C, her står for aktivere komprimering. Ved at bruge denne mulighed aktiveres komprimering, og overførselshastigheden øges under kopiering. Det aktiverer automatisk komprimering ved kilden og dekompression ved målet.
- -c: c står for kryptering. Som standard bruger SCP 'AES-128' til kryptering af filer. Hvis du vil ændre kryptering, skal du bruge -c-indstillingen efterfulgt af krypteringsnavn.
- -i: i står for identificer fil eller privat nøgle. Generelt vælges nøglebaseret godkendelse i Linux-miljøer. Så vi kan specifikt nævne den private nøglefil eller identitetsfil ved hjælp af -i-indstillingen.
- -l: Jeg står for grænse båndbredde. Via denne mulighed kan du indstille den maksimale båndbredde, der skal bruges. Det er i Kbits / s.
- -B: Denne indstilling bruges til at bruge batch-tilstand under kopiering.
- -F: Denne indstilling bruges til at bruge en anden ssh_config-fil, mens du kopierer i situationer, hvor du skal bruge forskellige netværk til at oprette forbindelse til Linux-systemer. I sådanne scenarier skal du tildele en erstatning per bruger SSH-konfigurationsfil.
- -P: Hvis destinationsværts ssh-portnummer er forskelligt fra standardportnummer 22, skal du specifikt nævne portnummeret ved hjælp af -P-indstillingen.
- -p: Denne mulighed bruges til at bevare filtilladelser, ændringer og adgangstider under kopiering.
- -q: Denne mulighed udfører SCP-kommandoen i stille tilstand. Det slukker fremskridtsmåleren og viser ikke overførselsforløb, advarsler eller diagnostiske meddelelser fra ssh på Linux-terminalskærmen.
- -r: -r option bruges til at kopiere filer og mapper rekursivt. For eksempel, Hvis du vil kopiere hele mappen (sammen med indholdet i mappen) på en målmaskine, skal du bruge -r-indstillingen.
- -S: Denne mulighed bruges til at specificere det program, der skal bruges til at oprette forbindelse.
- -v: v står for detaljeret. Denne mulighed viser trin for trin fremskridt af SCP-kommandokørsel på terminalskærmen. Det er virkelig nyttigt i debugging.
SCP-kommandoeksempler
Lad os forstå, hvordan man bruger SCP Command ved hjælp af eksempler:
Eksempel 1: til kopiering fra lokal til ekstern vært
scp -v lockfile.txt kaushapx@10.172.80.167: /home/cpf657/kaushapx/test1
I ovenstående eksempel
hvilket etl-værktøj er bedst på markedet
- -v option bruges som en detaljeret mulighed for at se detaljerne om output af denne kommando på Linux-terminalen. Ved hjælp af den detaljerede output kan du lære præcis, hvad der sker i baggrunden, når kommandoen udføres. Dette hjælper med at debugge.
- Lockfile.txt er det kildefilnavn, som vi vil overføre til en ekstern vært.
- Kaushapx er et eksempel på et brugernavn. Ved hjælp af denne brugernavnskonto kopierer vi filen sikkert til den eksterne vært.
- 10.172.80.167 er eksemplet på IP-adressen for den eksterne fjernvært, som vi vil overføre filen til.
- / home / cpf657 / kaushapx / test1 er et eksempel på en absolut sti, hvor vi vil placere denne overførte fil.
Nedenstående skærmbilleder demonstrerer udførelsen af ovenstående SCP-kommando.
Eksempel 2: til kopiering fra fjernhost til lokalt system:
scp kaushapx@10.172.80.167:/home/cpf657/kaushapx/test/parent/directory1/DemoFile.txt /home/tpf655/kaushapx
Eksempel 3: til kopiering af flere filer til en ekstern vært:
scp DemoFile.txt log.xml kaushapx@10.172.80.167:/home/cpf657/kaushapx/test
Eksempel 4: til kopiering af filer på tværs af to eksterne systemer:
scp kaushapx@10.172.80.167:/home/cpf657/kaushapx/console.txt kaushapx@10.182.46.76:/home/tpf655/kaushapx/test
Eksempel 5: til kopiering af filer og mapper rekursivt (ved hjælp af -r option):
Antag, jeg har en mappe kaldet 'test' i localhost, og denne mappe indeholder fire filer. Jeg vil kopiere hele mappen i en anden mappe kaldet 'test1', der er til stede hos en ekstern vært.
Jeg bruger følgende kommando:
scp -r test kaushapx@10.172.80.167:/home/cpf657/kaushapx/test1
Eksempel 6: for at øge kopihastigheden ved at aktivere komprimering (ved hjælp af -C option):
Lad os overføre den samme mappe, som vi gjorde i eksempel 5, men denne gang ved at aktivere komprimering:
scp -r -C test kaushapx@10.172.80.167:/home/cpf657/kaushapx/test1
Eksempel 7: til begrænsning af båndbredden under kopiering (ved hjælp af -l option):
Lad os fortsætte med den samme mulighed. Denne gang bruger vi -l optionen og specificerer båndbredden, siger 500. Husk, båndbredden vi har lagt her er i Kbit / s.
Eksempel 8: til angivelse af forskellige ssh-port under kopiering (ved hjælp af -P option):
Hvis den eksterne server, som du kopierer filen til, bruger en anden port end standardport 22, skal du eksplicit fortælle portnummeret i SCP-kommandoen ved hjælp af -P-indstillingen. For eksempel, Hvis ssh-porten på fjernserveren er 2022, vil du nævne -P 2022 i SCP-kommandoen.
scp -P 2022 console.txt kaushapx@10.182.46.76:/home/tpf655/kaushapx/test
desktop supporttekniker interview spørgsmål og svar
Eksempel 9: til at bevare filtilladelser, ændringer og adgangstider under kopiering (ved hjælp af -p option):
scp -p console.txt kaushapx@10.172.80.167:/home/cpf657/kaushapx/test1
Eksempel 10: til kopiering af filer i stille tilstand (ved hjælp af -q option):
scp -q console.txt kaushapx@10.172.80.167:/home/cpf657/kaushapx/test1
Eksempel 11: til identifikation af filer i SCP under kopiering (ved hjælp af -i option):
I ovenstående eksempel er my_private_key.pem identitetsfilen eller den private nøglefil.
Eksempel 12: til brug af en anden kryptering under kopiering via SCP (ved hjælp af -c option):
scp -c 3des-cbc -r test1 kaushapx@10.182.46.76:/home/tpf655/kaushapx/test
FAQ Om SCP-kommando
I dette afsnit vil vi dække nogle ofte stillede spørgsmål om SCP-kommandoen.
Q # 1) Hvad er SCP-kommando?
Svar: SCP står for Secure Copy Protocol. Ved hjælp af SCP-kommandoen kan du udføre kopiering af filer sikkert mellem værter på et netværk. Det bruger SSH-mekanismerne til dataoverførsel. Det bruger enten nøgle eller adgangskodebaseret godkendelse.
Q # 2) Hvad gør SCP i Linux?
Svar: I Linux overfører SCP-kommandoen filerne mellem serverne på en sikker måde. Det kan være en filkopi mellem en ekstern server og en lokal vært eller mellem to eksterne servere. SCP er en forudinstalleret kommando i Linux og er kendt for sin enkelhed og sikkerhed.
Spørgsmål nr. 3) Hvordan SCP-filer i Linux?
Svar: Du kan SCP-filer ved hjælp af følgende kommandosyntaks:
scp (options) (username@)(source_host:)file1 (username@)(destination_host:)file2.
Mange indstillinger kan bruges med SCP-kommandoen. For eksempel, -C for komprimering, -c for chiffer, -P for porten, -I for den private nøgle, -l for grænse, -r for rekursiv kopi osv.
Spørgsmål nr. 4) Hvordan SCP vi en fil?
Svar: Du kan SCP en fil ved hjælp af SCP-kommandoen som nævnt i Q # 3.
Q # 5) Kopierer eller flytter SCP?
Svar: SCP-kommando kopierer filerne fra kilden til destinationen. Så efter SCP vil filen være til stede hos begge værter.
Q # 6) Kan du bruge SCP til et bibliotek?
Svar: Ja, vi kan bruge SCP til et bibliotek. Du skal bruge -r mulighed for at kopiere hele biblioteket sammen med dets indhold.
Nedenfor er SCP-kommandosyntaks til kopiering af biblioteket fra en localhost til en ekstern vært:
scp -r localhost_path_to_directory username@target_server_ip:/path_to_target_directory/
Q # 7) Hvordan bruger vi SCP til alle filer i et bibliotek?
Svar: For at bruge SCP på alle filer i en mappe skal du tilføje * med bibliotekstien:
scp -r localhost_path_to_directory/* username@target_server_ip:/path_to_target_directory/
På denne måde kopieres alle filerne i det lokale bibliotek til det eksterne bibliotek.
Q # 8) Kan vi bruge SCP i Windows?
Svar: Ja, du kan bruge SCP i Windows. Det er dog ikke pre-downloadet i Windows, i modsætning til Linux og Mac, så for Windows skal du installere SCP-softwaren separat.
Du kan downloade Putty, der inkluderer SCP til Windows (software kaldet Putty SCP (PSCP), eller du kan downloade WinSCP (Windows Secure Copy). PSCP-klienten kører direkte fra Windows kommandoprompt. Der er også anden software til brug af SCP i Windows .
Spørgsmål nr. 9) Hvordan bruger vi SCP til flere filer?
Svar: Til kopiering af flere filer fra localhost til en ekstern vært ved hjælp af SCP:
scp file1 file2 UserName@TargetHost:TargetDirectoryPath
Til kopiering af flere filer fra en ekstern vært til en aktuel mappe med localhost ved hjælp af SCP:
scp UserName@SourceHost:SourceDirectoryPath{file1, file2}
Q # 10) Hvad er forskellen mellem SCP og SFTP?
Svar: SCP er Secure Copy Protocol. SFTP er Secure File Transfer Protocol. Begge bruger TCP-port 22 og kører på SSH-mekanismen. Men de adskiller sig i specifikationer og funktioner.
SCP overfører kun dataene, mens SFTP også udfører filadgang og filhåndteringsfunktioner ud over filoverførslen. Med SFTP kan du udføre operationer som f.eks. At angive fjernfortegnelser eller slette filer. Men SCP tillader kun kopiering af filer og mapper mellem servere.
Filoverførselshastigheden i SCP er hurtigere end SFTP, fordi den bruger en mere effektiv algoritme til overførsel af filer.
den bedste youtube til mp3 konverter
I SFTP kan du genoptage afbrudt filoverførsel fra kommandolinjeklienten. Men SCP har ikke denne funktion.
SFTP tilbyder en GUI-komponent, men SCP har ikke det.
Spørgsmål nr. 11) Hvad er SCP-kommandoen i Windows til sikker kopiering af en fil?
Svar: Åbn Windows Command Prompt, og giv kommandoen nedenfor for sikker kopiering af en fil fra en lokal Windows-maskine til en server (det kan være en Linux-server):
pscp filsti brugerid @ target_server_ip: target_path
Eksempel: pscp c: desktop sample.txt userxyz@192.162.x.x: /tmp/foo/sample.txt
Du skal have PSCP installeret til at udføre denne kommando.
Q # 12) Er SCP Secure?
Svar: Ja, SCP er sikker. Det bruger SSH (Secure Shell Protocol) -mekanisme til dataoverførsel, og det får dermed fordel af den sikkerhed, der tilbydes af SSH. Dataene under transport holdes fortrolige, og også er ægtheden sikret.
Konklusion
I denne vejledning har vi set, hvordan man bruger SCP-kommandoen til sikker kopiering af filerne mellem to eksterne værter eller mellem en lokal vært og en ekstern vært uden at starte en FTP-session eller logge ind på de eksterne maskiner eksplicit.
SCP anvender SSH-mekanismen til kopiering af dataene, og dataene under transit krypteres og sikres. Det har brug for en adgangskode eller nøgle til godkendelse. I modsætning til RCP (Remote Copy Protocol) eller FTP (File Transfer Protocol) krypterer SCP både filen og adgangskoder, der udveksles mellem systemerne for at beskytte enhver snooping på netværket.
Anbefalet læsning
- Klip kommando i Unix med eksempler
- Find kommando i Unix: Find filer med Unix Find-fil (eksempler)
- Unix Cat Command Syntax, indstillinger med eksempler
- Ls Command i Unix med eksempler
- Kommandolinjeargumenter i Unix Shell Script med eksempel
- Grep Command i Unix med enkle eksempler
- Filmanipulation i Unix: Oversigt over Unix File System
- Unix sorteringskommando med syntaks, indstillinger og eksempler