Slik bruker du scp-kommando til å overføre filer sikkert i Linux

Anta at du vil overføre noen filer mellom servere på et Linux-system. Det er mange måter du kan utføre oppgaven på, men hvis din prioritet er å overføre filer på en sikker måte, sitter du igjen med noen få alternativer. Den enkleste løsningen er å bruke kommandoen scp eller sikker kopi for å overføre filene dine uten å bekymre deg for sikkerheten. I denne artikkelen vil vi forklare hvordan du bruker overføringsfiler sikkert ved å bruke scp-kommandoen på Linux-systemet.

Overfør filer med scp-kommando i Linux (2023)

Hva er scp Command i Linux

Når det gjelder å overføre filer over et sikkert nettverk, kan scp-kommandoen være veldig nyttig. Det står for Secure Copy Protocol og overfører filer og kataloger mellom to systemer over SSH (Secure Shell)-tilkobling. Med ssh kan du være trygg på sikkerheten til filene dine da de er kryptert som standard. I enklere termer er scp-kommandoen en sikrere versjon av cp-kommandoen, som du kan lese alt om i vår Linux Terminal-kommandoartikkel.

Slik bruker du scp-kommandoen: Syntaks og alternativer

Før vi kan overføre filer via scp, la oss se syntaksen og alternativene for kommandoen her:

scp <[email protected]_ip_address:path/to/source/file> <[email protected]_ip_adresse:mål/bane>

Forstå syntaksen:

  • Først <[email protected]_ip_address:path/to/source/file> spesifiserer «kilde»-systemet hvorfra du må overføre filene/katalogene dine.
  • For det andre, <[email protected]_ip_address:target/path> spesifiserer «mål»-systemet som du vil overføre filene/katalogene dine til.

Hvis du forlater en av parameterne ovenfor, vil scp-kommandoen i Linux først se etter filen og deretter kopiere filen lokalt. Noen av alternativene for å pare med kommandoen er:

  Hvordan sette opp og bruke Fragments BitTorrent Client på Linux

OptionsDestination-PSpesifiserer hvilken port som skal kobles til vertssystemet. Hvis den utelates, vil den bruke port 22 som standard.-pBevarer endringstider, tilgangstider og moduser fra den opprinnelige filen når den kopieres til målsystemet.-rKopierer hele katalogen til målsystemet rekursivt.-JBrukes for å koble til kildesystem og målsystem via et proxy-system (hoppvert).-3når dette flagget brukes, kopierer det filene til både målsystemet og det lokale systemet-4tvinger scp-kommandoen til å bruke kun IPv4-adresser.-6tvinger scp-kommandoen for kun å bruke IPv6-adresser.

Hvordan kopiere filer ved hjelp av scp-kommandoen

Før du bruker scp-kommandoen i Linux, er det noen forutsetninger du må oppfylle på både verts- og målsystemene:

  • ssh skal installeres
  • root-tilgang eller en hvilken som helst bruker med sudo-rettigheter

Kopier filer fra lokal vert til eksternt mål

Hvis du har en fil du må overføre fra ditt lokale system til et eksternt mål, må du bruke følgende syntaks:

scp @:

Hvis syntaksen ovenfor kan virke komplisert, vil et eksempel fjerne det:

scp test.txt [email protected]:/home/remote2/Documents/

I eksemplet ovenfor:

  • test.txt er navnet på filen som skal overføres, og den ligger i gjeldende katalog i det lokale systemet.
  • test er brukernavnet på målsystemet.
  • 139.144.11.105 er IP-adressen til målsystemet.
  • /home/remote2/Documents/ er plasseringen på målsystemet der den overførte filen vil bli lagret.

Kopier filer fra ekstern vert til lokalt mål

Hvis du trenger å overføre en fil fra en ekstern vert til din lokale maskin, bruk følgende scp-kommandosyntaks på Linux-systemet:

scp @:

La oss for eksempel si at du må overføre en fil med navnet test.py fra den eksterne serveren du jobber på, bruk denne kommandoen:

scp [email protected]:/home/test/test1.py ~/test1.py

I dette eksemplet:

  • test er brukernavnet for den eksterne verten.
  • 10.10.11.113 er den eksterne vertens IP-adresse.
  • /home/test/test1.py er banen til filen som skal overføres fra den eksterne verten.
  • ~/test1.py er navnet på filen etter at den er overført til den lokale maskinen og lagret i hjemmekatalogen.

Overfør filer fra én ekstern vert til et annet eksternt mål

Med scp-kommandoen kan du ikke bare overføre filer mellom ditt lokale system og en ekstern maskin, men også overføre filer mellom to eksterne systemer. Men før du kan overføre filer fra ett eksternt system til et annet eksternt system, anbefales det å generere en privat ssh-nøkkel og en offentlig ssh-nøkkel på kildesystemet og lagre en kopi av den offentlige nøkkelen i målsystemet.

  Hvordan spille Deadcore på Linux

Vanligvis klager brukere over feilen «Vertsnøkkelbekreftelse mislyktes» når de overfører filer mellom to eksterne systemer. For å omgå feilen, bruk en ssh-tast som et ekstra mål. Vi har forklart hvordan du kan gjøre det her:

1. Generer et offentlig/privat nøkkelpar på kildeserveren med denne kommandoen:

ssh-keygen -t

2. For krypteringsalgoritmer kan du bruke «rsa», som er den mest brukte algoritmen eller en hvilken som helst annen algoritme du velger.

3. Deretter vil du bli bedt om å velge plasseringen for å lagre ssh-nøkkelen. Du kan enten lagre den på et hvilket som helst sted du ønsker eller på standardplasseringen.

4. For passordfrasen kan du skrive inn hva du ønsker eller la det stå tomt ved å trykke Enter.

5. Kopier deretter den offentlige nøkkelen til målserveren ved å bruke kommandoen nedenfor. Med dette kan du til og med logge på destinasjonssystemet uten passord ved å bruke ssh.

ssh-copy-id @

Merk: den passordløse metoden for pålogging vil kun fungere for brukeren som du har generert ssh-nøkkelen for.

6. Når du har opprettet og lagret ssh-nøkkelen på den eksterne serveren, bruk denne scp-kommandosyntaksen til å utveksle filer mellom to eksterne systemer som kjører Linux:

scp @: @:

La oss si at du må overføre en fil med navnet test.txt fra en ekstern vert til en annen ekstern mottaker, bruk kommandoen:

scp [email protected]:/home/test1/test.txt [email protected]:/home/remote2/Documents/test1.txt

I dette eksemplet:

  • remote1 er navnet på brukeren i den eksterne senderverten
  • 10.10.11.113 er IP-adressen til den eksterne avsenderverten
  • /home/test1/test.txt er banen til filen som skal sendes
  • remote2 er navnet på brukeren i det eksterne mottakermålet
  • 10.11.27.111 er IP-adressen til det eksterne mottakermålet
  • /home/remote2/Documents/test1.txt er navnet og banen som skal lagres for at filen skal mottas.
  Hvordan kontrollere sudo Access på Linux

Overfør flere filer ved å bruke scp-kommandoen

Å overføre flere filer én etter én kan være en kjedelig oppgave for alle. I stedet kan du bruke syntaksen nedenfor til å utveksle filer ved å bruke scp-kommandoen på Linux:

scp @:

For eksempel – Tenk deg at du må sende fire filer, inkludert test1.txt, test2.py, test3.sh og test4.c, til en ekstern mottaker, kan du bruke kommandoen nedenfor:

scp -P 22 test1.txt test2.py test3.sh test4.c [email protected]:/home/remote_1/Documents

La oss forstå hvordan kommandoen i eksemplet fungerer og hva den gjør:

  • -p 2222 brukes til å spesifisere å koble til via port 22
  • test1.txt test2.py test3.sh test4.c er navnet på filene som skal overføres
  • remote_1 er brukernavnet til mottakersystemet
  • 10.10.11.113 er IP-adressen til mottakeren
  • /home/remote_1/Documents refererer til banen for å lagre den mottatte filen.

Du kan til og med bruke jokertegn for å sende flere filer med samme utvidelse som vist nedenfor:

scp . @:

Hvis du for eksempel trenger å sende alle .py-filer til en ekstern server, bruk scp-kommandoen nedenfor i Linux-terminalen:

scp *.py [email protected]:/home/remote_1/

Her,

  • *.py betyr alle python-filer
  • remote1 er mottakerens brukernavn
  • 10.10.11.113 er mottakerens IP-adresse
  • /home/remote_1/ er stedet for å lagre den mottatte filen

ofte stilte spørsmål

Er SCP-filoverføring sikker?

Secure Copy Protocol eller scp er en protokoll som er basert på SSH-teknologi og bruker kryptering og autentisering for utveksling av filer mellom to verter. Dette sikrer fullstendig datasikkerhet og integritet mellom de to vertene.

Er SCP sikrere enn SFTP?

Både SCP- og SFTP-protokoller er på nivå når det gjelder sikkerhet. Hovedfordelen med å bruke scp over SFTP er de raske overføringshastighetene som er spesielt nyttige i nettverk med høy latens.

Overfør filer sikkert ved å bruke scp Command i Linux

På et tidspunkt må hver bruker utveksle noen filer over nettverket. scp-kommandoen gjør det enkelt å overføre filer sikkert og effektivt selv på et nettverk med høy latens. Det kan sikkert også være nyttig å kjenne til de forskjellige scp-alternativene og syntaksen. Du kan også se guidene våre om hvordan du endrer navn på en fil i Linux og hvordan du sletter en fil i Linux for å forbedre filbehandlingsferdighetene dine på operativsystemet ytterligere. Vi håper denne artikkelen hjalp deg med å lære hvordan du bruker scp-kommandoen for å overføre filer på Linux-datamaskiner. Hvis du møter problemer mens du bruker kommandoen, gi oss beskjed i kommentarfeltet.