Hvordan bruke SCP -kommandoen til å overføre filer

Hvordan bruke SCP -kommandoen til å overføre filer

Denne opplæringen forklarer hvordan du bruker SCP (Sikre kopi) Kommando for å overføre filer mellom datamaskiner.

De SCP Kommando er tilgjengelig på alle Linux, UNIX og Windows -systemer. Implementeringen vil med all sannsynlighet forbedre og lette nettverksopplevelsen.

Sikkerhet er gitt av ssh protokoll.

Denne kommandoen lar oss overføre filer pålitelig og sikkert fra en datamaskin til en annen. Sammen med sftp Kommando, også beskyttet av SSH -protokollen, er SCP en av de mest sikre filoverføringsteknikkene.

Etter å ha lest denne artikkelen, vil leseren enkelt kunne dele og hente filer med enkeltkommandoer.

Alle praktiske eksempler i denne opplæringen inneholder skjermbilder, noe som gjør det enkelt for hver Linux -bruker å forstå hvordan kommandoer brukes.

Krav før du bruker SCP

Brukeren vil laste ned filer fra eller laste opp filer til, den må ha SSH -tjenesten i gang.

Hvis tjenesten allerede kjører på serveren, kan du hoppe til neste del av denne artikkelen.

Hvis tjenesten ikke kjører, kan brukeren installere den ved å følge instruksjonene nedenfor for Debian og Redhat -baserte Linux -distribusjoner.

På Debian -baserte systemer som Ubuntu kan SSH -tjenesten installeres med Apt Packages Manager som vist på bildet nedenfor.

sudo apt install ssh

På Redhat -baserte systemer som CentOS kan SSH -tjenesten installeres ved å kjøre følgende kommando:

DNF installer OpenSH-server

Når installasjonen avsluttes, på serveren du vil koble til, kan du starte tjenesten med SystemCTL Kommando som vist nedenfor (Debian -baserte systemer).

sudo systemctl start ssh

Å starte ssh Tjeneste på Redhat Systems Execute:

sudo systemctl start sshd

Hvordan laste ned filer og kataloger med SCP (Sikker kopi)

I det første praktiske eksemplet på denne opplæringen, laster en bruker ned en fil som heter <fil1> til hjemmekatalogen hans.

Det er viktig å huske nedlasting eller laste opp filer krever legitimasjon til en eksisterende bruker i den eksterne datamaskinen.

Syntaksen for å laste ned en fil med SCP er følgende, hvor <Fjernbruker> er en eksisterende bruker på den eksterne datamaskinen brukeren ønsker å laste ned filer fra. <Server-IP> er verten eller IP -adressen til serveren som lagrer filen, <Bane/til/fil> er veien til filen å laste ned og <Lokal-direktøry> er brukerens datamaskinens lokale katalog der filen er lagret.

SCP @:

I eksemplet nedenfor, den lokale brukeren Linux-Hint3 pålogging som Linuxhint ekstern bruker på serveren med IP -adresse 192.168.0.103 og laster ned en fil som heter <fil1> til hjemmekatalogen hans. En stolpe ls Kommandoutførelse viser fil1 er lokalt til stede.

SCP [email protected]: File1 ~/

Som standard er den eksterne arbeidskatalogen etter å ha logget inn den eksterne arbeidskatalogen.

De -O Flagg er nyttig for å utføre SCP -arv som er nødvendig for å overføre filer med systemer som ikke implementerte SFTP -protokollen.

SCP -o [email protected]: File1 ~/

I eksemplet nedenfor laster brukeren ned en fil som heter Newfile2, lagret under Skrivebord/ underkatalog. Den lokale destinasjonen er den nåværende lokale katalogen representert i en periode.

SCP [email protected]: Desktop/newfile2 .

Last ned kataloger krever bare å legge til -r (Rekursiv) flagg som vist på skjermdumpen nedenfor.

I eksemplet nedenfor laster brukeren ned den eksterne katalogen som heter testdir/ til den lokale underkatalogen som er navngitt katalog/.

SCP -r [email protected]: Testdir ~/katalog

De -l Flagget gjør det mulig å begrense nedlastingsoverføringen i KB/s for å kontrollere båndbredden.

I det følgende skjermbildet begrenser brukeren båndbredden for overføring til 100 kb/ps. Som du kan se, brukte brukeren et jokertegn (*) for å laste ned alle filer hvis navn starter med "Ubuntu”.

SCP -L 100 [email protected]: Ubuntu* ~/

Hvis brukeren ønsker å få fart på filoverføringen, kan han legge til -C For å komprimere filer eller kataloger under overføringen, og etterlater destinasjonskopien ukomprimert (hvis kilden var slik).

I eksemplet nedenfor implementerer brukeren -C (Komprimering) Flagg for å laste ned alle filer som starter med "Ubuntu”Til det lokale Skrivebord/ underkatalog.

SCP -C [email protected]: Ubuntu*/Home/Linux-Hint3/Desktop/

De -4 alternativet tvinger forbindelsen gjennom IPv4 og -6 Alternativ gjennom IPv6.

I neste skjermbilde tvinger brukeren filoverføringen gjennom IPv4.

SCP -4 [email protected]: Ubuntu*/Home/Linux-Hint3/Desktop/

Hvordan laste opp filer og kataloger med SCP

Denne delen forklarer hvordan du laster opp filer med enkeltkommandoer ved hjelp av SCP.

Syntaksen for å laste opp vanlige filer til et eksternt system som bruker SFTP er følgende:

SCP @:

I eksemplet nedenfor laster brukeren opp en fil som heter fil1 til den eksterne underkatalogen som er navngitt Dokumenter/.

SCP File1 [email protected]: Dokumenter/

For å laste opp kataloger, bruk den rekursive -r flagg, resten av syntaksen ligner eksemplene beskrevet ovenfor.

SCP -R Desktop/Testdir [email protected]: Dokumenter/

De -O Flagg er nyttig å laste opp filer til systemer uten SFTP -protokollen.

SCP -Or Desktop/Testdir [email protected]: Dokumenter/

For å fremskynde overføringen, også når du laster opp filer, kan brukeren komprimere.

I eksemplet nedenfor kombinerer brukeren den rekursive -r flagg med -C (Komprimerer flagg).

SCP -RC Desktop/Testdir [email protected]: Dokumenter/

Deaktivere SCP Passordgodkjenning og aktivering av nøkkelautentisering

Opprinnelig var SCP -protokollen basert på SSH (Secure Shell) -protokollen, men for tiden fungerer den gjennom nyere protokoller som sftp eller Rsync.

Konfigurasjonsfilen som skal redigeres for å aktivere nøkkelautentisering og deaktivere passordpålogging er /etc/ssh/sshd_config. Denne filen inneholder flere alternativer for å øke SCP -filens overføringssikkerhet.

På datamaskinen, tillater innkommende tilkoblinger fra hvor filer lastes ned eller hvor de lastes opp, åpner du /etc/ssh/sshd_config fil med privilegier ved å bruke en vanlig tekstredigerer som vim eller Nano.

sudo nano/etc/ssh/sshd_config

Bla nedover og finn linjen som inneholder PubKeyAuthentication nr, erstatt den med PubkeyAuthentication Ja (Bytt ut “Nei”Med“ja).

Bekreft også Tillatootlogin nr For å deaktivere rotpålogging fordi alle i verden vet eksistensen av rotbrukeren, som kan være målet for alle typer angrep inkludert brute kraft.

De rot Superbruker finnes i alle UNIX -baserte systemer inkludert Linux. Det er ikke en god beslutning å tillate innlogging med et privilegert brukernavn kjent av alle i verden.

Ikke deaktiver pålogging av passord ennå fordi den viktigste kopieringsprosessen krever passordpålogging før systemer er i stand til å autentisere med nøkler.

Avslutt konfigurasjonsfilen Lagre endringer og start SSH -tjenesten på nytt ved å følge instruksjonene nedenfor.

Debian -baserte Linux -distribusjoner:

sudo SystemCTL Restart SSH

Redhat -baserte Linux -distribusjoner:

sudo SystemCTL Restart SSH

På klientsiden, datamaskinen nedlasting og laster opp filer, må brukeren generere nøklerparet med SSH-KeenGen kommando.

Etter å ha kjørt kommandoen, trykk TAST INN For å legge igjen standardkatalogen (~/.SSH/ID_RSA) eller tilsvarende i Linux -distribusjonen. Prosessen gjør at implementering av en passfrase kan være nødvendig når autentisering. Ved å inkludere en passfrase økes sikkerhetsnivået. Det anbefales å skrive en og trykke på TAST INN. Hvis du ikke vil legge til en passfrase, bare trykk TAST INN uten å skrive det.

SSH-KeenGen

Etter å ha opprettet nøklerparet, må klienten sende nøkkelen til serveren ved hjelp av SSH-Copy-ID Kommando med syntaks for følgende praktiske eksempel.

SSH-Copy-Id [email protected]

Etter å ha kopiert nøkkelen, tester autentiseringsmetoden ved å koble til den andre enheten.

Hvis nøkkelgodkjenningen lykkes, vil brukeren kunne logge inn uten å skrive passordet. Hvis brukeren har definert en passfrase når han oppretter nøklerparet, vil det bli bedt om i stedet for passordet som vist på skjermdumpen nedenfor.

SFTP @@

Etter å ha bekreftet den offentlige nøkkelgodkjenningen fungerer ordentlig, anbefales det på det sterkeste å deaktivere passordgodkjenningen.

For å deaktivere passordgodkjenningen, På serversiden, Åpne filen /etc/ssh/sshd/config med privilegier igjen ved å bruke en tekstredigerer som Nano eller vi.

sudo nano/etc/ssh/sshd/config

Bla nedover konfigurasjonsfilen og erstatt linjen PAsswordAuthentication Ja med PasswordAuthentication nr.

I noen tilfeller, når antall brukere reduseres, kan SCP/SSH -porten endres for å forhindre massive skanninger. Denne endringen må gjøres i denne filen. Hvis brukeren endrer standardporten, må han implementere -p -alternativet når han overfører filer.

Avslutt lagrer endringer.

På Debian -baserte Linux -systemer start SSH -tjenesten med følgende kommando:

sudo SystemCTL Restart SSH

Start SSH -tjenesten på nytt på Redhat -baserte Linux -distribusjoner:

sudo SystemCTL omstart SSHD

Nå er brukeren i stand til å logge inn med nøkkelautentisering.

Konklusjon

Det er ganske enkelt å bruke SCP -kommandoen. Hver Linux -bruker kan lære det å forbedre hans erfaring med nettverksoppgaver. Det letter definitivt å samhandle med andre datamaskiner i et nettverk fra kommandolinjen. Alle instruksjonene i denne opplæringen er gyldige for alle Linux -distribusjoner bortsett fra installasjonsmetodene begrenset til Debian og Redhat -baserte Linux -distribusjoner. Hver nettverksadministrator som jobber fra terminalen må dominere denne kommandoen.