12 scp command examples securely transfer files linux
Denne opplæringen forklarer Secure Copy Protocol eller SCP Command som brukes til sikker kopiering av filene i Linux og Unix med syntaks og eksempler:
I denne artikkelen vil vi diskutere SCP-kommandoen (Secure Copy Protocol) som brukes til filoverføring. Vi får se hva det er og hvordan det fungerer ved hjelp av noen få eksempler. Så la oss først prøve å forstå hva som er SCP-kommando.
Hva du vil lære:
Hva er SCP Command?
SCP (Secure Copy Protocol) er en nettverksprotokoll som brukes til sikker overføring av filene mellom vertene i et datanettverk. Ved å bruke dette kommandolinjeprogrammet i Linux og Unix-lignende systemer, kan du utføre filoverføring fra en lokal vert til en ekstern vert, eller fra en ekstern vert til et lokalt system, eller mellom to eksterne verter.
[bilde kilde ]
SCP sikrer ektheten, krypteringen og konfidensialiteten til dataene ved å bruke SSH (Secure Shell) -mekanismen for overføring av filene. Så dataene under transport er beskyttet mot snooping-angrepene. Klienter kan laste opp og laste ned filer og kataloger til og fra en server ved hjelp av denne protokollen. Det krever enten passord eller nøkler for autentisering. Standardporten for SCP er TCP-port 22.
Fordelen med SCP-protokollen er at du ikke trenger å starte en FTP-økt eller logge deg på de eksterne vertene eksplisitt for filoverføring.
Syntaks for SCP-protokoll
# 1) For å kopiere filen fra lokal til ekstern vert
scp [options] SourceFileName UserName@TargetHost:TargetPath
Dette er den helt grunnleggende syntaksen til SCP-kommandoen som vil kopiere kildefilen fra den gjeldende verten til målstien til målverten ved hjelp av en brukerkonto. Vanligvis er det ganske likt kopi-cp-kommandoen.
# 2) For kopiering fra en ekstern vert til lokal
For kopiering av fil:
scp [options] UserName@SourceHost:SourceFilePath TargetFileName
Eller, bare last ned filen:
scp [options] UserName@SourceHost:SourceFilePath
For kopiering av mappe (rekursivt):
scp -r UserName@SourceHost:SourceDirectoryPath TargetFolderName
Hvis den eksterne verten bruker en annen port enn standardporten 22, må portnummeret nevnes eksplisitt i kommandoen ved hjelp av -P-alternativet.
# 3) Kopiering fra en ekstern datamaskin til en annen ekstern datamaskin
scp [options] UserName@SourceHost:SourcePath UserName@TargetHost:TargetPath
Når du kopierer filer fra en ekstern datamaskin til en annen, går ikke trafikken forbi datamaskinen din. Denne operasjonen foregår direkte mellom de to eksterne serverne.
# 4) Kopiering av flere filer
For å kopiere flere filer fra localhost til en ekstern vert:
scp file1 file2 UserName@TargetHost:TargetDirectoryPath
For å kopiere flere filer fra en ekstern vert til en gjeldende katalog over localhost:
scp UserName@SourceHost:SourceDirectoryPath{file1, file2}
Alternativer brukt med SCP-kommando
De mest brukte alternativene med SCP-kommando er oppført nedenfor:
- -C : C, her står for aktivere komprimering. Ved å bruke dette alternativet blir komprimering aktivert og overføringshastigheten økes under kopiering. Det aktiverer automatisk komprimering ved kilden og dekompresjon på målet.
- -c: c står for kryptering. Som standard bruker SCP ‘AES-128’ for kryptering av filer. Hvis du vil endre kryptering, må du bruke -c alternativet etterfulgt av krypteringsnavnet.
- -Jeg : i står for identifisere fil eller privat nøkkel. Generelt velges nøkkelbasert autentisering i Linux-miljøer. Så vi kan spesifikt nevne den private nøkkelfilen eller identitetsfilen ved hjelp av -i-alternativet.
- -l: Jeg står for grense for båndbredde. Gjennom dette alternativet kan du angi maksimal båndbredde som skal brukes. Det er i Kbits / s.
- -B: Dette alternativet brukes til å bruke batch-modus mens du kopierer.
- -F: Dette alternativet brukes til å bruke en annen ssh_config-fil mens du kopierer i situasjoner der du trenger å bruke forskjellige nettverk for å koble til Linux-systemer. I slike scenarier må du tilordne en erstatning per bruker SSH-konfigurasjonsfil.
- -P: Hvis ssh-portnummeret til destinasjonsverten er forskjellig fra standard portnummer 22, må du spesifikt nevne portnummeret ved å bruke -P-alternativet.
- -p: Dette alternativet brukes til å bevare filtillatelser, modifikasjoner og tilgangstider mens du kopierer.
- -q: Dette alternativet vil utføre SCP-kommandoen i stille modus. Det vil slå av fremdriftsmåleren og vil ikke vise overføringsfremdrift, advarsel eller diagnostiske meldinger til ssh på Linux-terminalskjermen.
- -r: -r alternativet brukes til å kopiere filene og katalogene rekursivt. For eksempel, Hvis du vil kopiere hele mappen (sammen med innholdet i mappen) på en målmaskin, må du bruke alternativet -r.
- -S: Dette alternativet brukes til å spesifisere programmet som skal brukes til å koble til.
- -v: v står for verbose. Dette alternativet viser trinnvis fremgang av SCP-kommandoen på terminalskjermen. Det er veldig nyttig i feilsøking.
SCP-kommandoeksempler
La oss forstå hvordan du bruker SCP Command ved hjelp av eksempler:
Eksempel 1: for kopiering fra lokal til ekstern vert
scp -v lockfile.txt kaushapx@10.172.80.167: /home/cpf657/kaushapx/test1
I eksemplet ovenfor,
hvordan du åpner en kjørbar jar-fil
- -v alternativet brukes som et detaljert alternativ for å se detaljene i utdataene til denne kommandoen på Linux-terminalen. Ved å bruke den detaljerte utgangen kan du få vite nøyaktig hva som skjer i bakgrunnen når kommandoen utføres. Dette hjelper feilsøking.
- Lockfile.txt er kildefilnavnet vi vil overføre til en ekstern vert.
- Kaushapx er et eksempel på et brukernavn. Ved å bruke denne brukernavnskontoen kopierer vi filen sikkert til den eksterne verten.
- 10.172.80.167 er eksemplet på IP-adressen til den eksterne fjernverten som vi vil overføre filen til.
- / home / cpf657 / kaushapx / test1 er et eksempel på en absolutt bane der vi vil legge denne overførte filen.
Skjermbildene nedenfor viser utførelsen av SCP-kommandoen ovenfor.
Eksempel 2: for kopiering fra ekstern vert til lokalt system:
scp kaushapx@10.172.80.167:/home/cpf657/kaushapx/test/parent/directory1/DemoFile.txt /home/tpf655/kaushapx
Eksempel 3: for å kopiere flere filer til en ekstern vert:
scp DemoFile.txt log.xml kaushapx@10.172.80.167:/home/cpf657/kaushapx/test
Eksempel 4: for kopiering av filer over 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: for å kopiere filer og kataloger rekursivt (ved hjelp av alternativet -r):
Anta at jeg har en mappe som heter ‘test’ i localhost, og denne mappen inneholder fire filer. Jeg vil kopiere hele mappen i en annen mappe kalt ‘test1’ til stede hos en ekstern vert.
Jeg vil bruke følgende kommando:
scp -r test kaushapx@10.172.80.167:/home/cpf657/kaushapx/test1
Eksempel 6: for å øke kopihastigheten ved å aktivere komprimering (ved å bruke -C-alternativet):
La oss overføre den samme mappen som vi gjorde i eksempel 5, men denne gangen ved å aktivere komprimering:
scp -r -C test kaushapx@10.172.80.167:/home/cpf657/kaushapx/test1
Eksempel 7: for å begrense båndbredden mens du kopierer (ved hjelp av -l-alternativet):
La oss fortsette med det samme alternativet. Denne gangen vil vi bruke -l alternativet og spesifisere båndbredden, si 500. Husk at båndbredden vi har lagt her er i Kbit / s.
Eksempel 8: for å spesifisere annen ssh-port under kopiering (ved hjelp av -P-alternativet):
Hvis den eksterne serveren du kopierer filen på bruker en annen port enn standardport 22, må du fortelle portnummeret i SCP-kommandoen eksplisitt ved å bruke -P-alternativet. For eksempel, Hvis ssh-porten til den eksterne serveren er 2022, vil du nevne -P 2022 i SCP-kommandoen.
scp -P 2022 console.txt kaushapx@10.182.46.76:/home/tpf655/kaushapx/test
Eksempel 9: for å bevare filtillatelser, modifikasjoner og tilgangstider mens du kopierer (ved hjelp av -p-alternativet):
scp -p console.txt kaushapx@10.172.80.167:/home/cpf657/kaushapx/test1
Eksempel 10: for kopiering av filer i stille modus (ved hjelp av -q-alternativet):
scp -q console.txt kaushapx@10.172.80.167:/home/cpf657/kaushapx/test1
Eksempel 11: for å identifisere filer i SCP under kopiering (ved hjelp av -i-alternativet):
I eksemplet ovenfor er my_private_key.pem identitetsfilen eller den private nøkkelfilen.
c ++ innsettingssorteringskode
Eksempel 12: for bruk av en annen kryptering mens du kopierer gjennom SCP (ved hjelp av -c-alternativet):
scp -c 3des-cbc -r test1 kaushapx@10.182.46.76:/home/tpf655/kaushapx/test
Vanlige spørsmål om SCP Command
I denne delen vil vi dekke noen ofte stilte spørsmål om SCP-kommandoen.
Q # 1) Hva er SCP-kommando?
Svar: SCP står for Secure Copy Protocol. Ved hjelp av SCP-kommandoen kan du utføre kopiering av filer sikkert mellom verter i et nettverk. Den bruker mekanismene til SSH for dataoverføring. Den bruker enten nøkkel eller passordbasert autentisering.
Spørsmål 2) Hva gjør SCP i Linux?
Svar: I Linux overfører SCP-kommandoen filene mellom serverne på en sikker måte. Det kan være en filkopi mellom en ekstern server og en lokal vert eller mellom to eksterne servere. SCP er en forhåndsinstallert kommando i Linux og er kjent for sin enkelhet og sikkerhet.
Sp # 3) Hvordan SCP-filer i Linux?
Svar: Du kan SCP-filer med følgende kommandosyntaks:
scp [options] [username@][source_host:]file1 [username@][destination_host:]file2.
Mange alternativer kan brukes med SCP-kommandoen. For eksempel, -C for komprimering, -c for kryptering, -P for porten, -I for den private nøkkelen, -l for grense, -r for rekursiv kopi, etc.
Q # 4) Hvordan SCP vi en fil?
Svar: Du kan SCP en fil ved å bruke SCP-kommandoen som nevnt i Q # 3.
Q # 5) Kopieres eller flyttes SCP?
Svar: SCP-kommando kopierer filen (e) fra kilde til destinasjon. Så, etter SCP, vil filen være tilstede hos begge vertene.
Q # 6) Kan du bruke SCP for en katalog?
Svar: Ja, vi kan bruke SCP for en katalog. Du må bruke -r alternativet for å kopiere hele katalogen sammen med innholdet.
Nedenfor er SCP-kommandosyntaks for kopiering av katalogen fra en lokal vert til en ekstern vert:
scp -r localhost_path_to_directory username@target_server_ip:/path_to_target_directory/
Sp # 7) Hvordan bruker vi SCP for alle filer i en katalog?
Svar: For å bruke SCP på alle filer i en katalog, må du legge til * med katalogbanen:
scp -r localhost_path_to_directory/* username@target_server_ip:/path_to_target_directory/
På denne måten kopieres alle filene i den lokale katalogen til den eksterne katalogen.
Q # 8) Kan vi bruke SCP i Windows?
Svar: Ja, du kan bruke SCP i Windows. Imidlertid er den ikke forhåndsnedlastet i Windows, i motsetning til Linux og Mac, så for Windows må du installere SCP-programvaren separat.
Du kan laste ned Putty som inkluderer SCP for Windows (programvare kalt Putty SCP (PSCP), eller du kan laste ned WinSCP (Windows Secure Copy). PSCP-klienten kjører direkte fra Windows ledetekst. Det er også annen programvare for bruk av SCP i Windows .
Sp # 9) Hvordan bruker vi SCP for flere filer?
Svar: For å kopiere flere filer fra localhost til en ekstern vert ved hjelp av SCP:
scp file1 file2 UserName@TargetHost:TargetDirectoryPath
For å kopiere flere filer fra en ekstern vert til en aktuell katalog over localhost ved hjelp av SCP:
scp UserName@SourceHost:SourceDirectoryPath{file1, file2}
Q # 10) Hva er forskjellen mellom SCP og SFTP?
Svar: SCP er Secure Copy Protocol. SFTP er Secure File Transfer Protocol. Begge bruker TCP-port 22 og kjører på SSH-mekanismen. Men de er forskjellige i spesifikasjoner og funksjoner.
SCP overfører bare dataene, mens SFTP også utfører filtilgang og filadministrasjonsfunksjoner, i tillegg til filoverføringen. Med SFTP kan du utføre operasjoner som å føre opp eksterne kataloger eller slette filer. Men SCP tillater bare kopiering av filer og kataloger mellom servere.
Filoverføringshastigheten i SCP er raskere enn SFTP fordi den bruker en mer effektiv algoritme for overføring av filer.
den beste youtube til mp3-omformeren
I SFTP kan du gjenoppta avbrutt filoverføring fra kommandolinjeklienten. Men SCP har ikke denne funksjonen.
SFTP tilbyr en GUI-komponent, men SCP har ikke det.
Spørsmål nr. 11) Hva er SCP-kommandoen i Windows for sikker kopiering av en fil?
Svar: Åpne Windows Command Prompt og gi kommandoen nedenfor for sikker kopiering av en fil fra en lokal Windows-maskin til en server (det kan være en Linux-server):
pscp filbane brukerid @ target_server_ip: target_path
Eksempel: pscp c: desktop sample.txt userxyz@192.162.x.x: /tmp/foo/sample.txt
Du bør ha PSCP installert for å utføre denne kommandoen.
Q # 12) Er SCP Secure?
Svar: Ja, SCP er sikker. Den bruker SSH (Secure Shell Protocol) -mekanisme for dataoverføring, og dermed får den nytte av sikkerheten som tilbys av SSH. Dataene under transport holdes konfidensielle, og ektheten er også sikret.
Konklusjon
I denne opplæringen har vi sett hvordan du bruker SCP-kommandoen for å kopiere filene sikkert mellom to eksterne verter eller mellom en lokal vert og en ekstern vert, uten å starte en FTP-økt eller logge på eksterne maskiner eksplisitt.
SCP benytter SSH-mekanismen for å kopiere dataene, og dermed blir dataene under transport kryptert og sikret. Det trenger et passord eller en nøkkel for autentisering. I motsetning til RCP (Remote Copy Protocol) eller FTP (File Transfer Protocol), krypterer SCP både filen og passordene som utveksles mellom systemene for å beskytte snusing i nettverket.
Anbefalt lesing
- Klipp kommandoen i Unix med eksempler
- Finn kommando i Unix: Finn filer med Unix Finn fil (eksempler)
- Unix Cat Command Syntax, Alternativer med eksempler
- Ls Command i Unix med eksempler
- Kommandolinjeargumenter i Unix Shell Script med eksempel
- Grep Command i Unix med enkle eksempler
- Filmanipulering i Unix: Oversikt over Unix File System
- Unix sorteringskommando med syntaks, alternativer og eksempler