Sådan bruger du scp-kommando til sikker overførsel af filer i Linux

Antag, at du vil overføre nogle filer mellem servere på et Linux-system. Der er mange måder, du kan udføre opgaven på, men hvis din prioritet er at overføre filer sikkert, står du tilbage med et par muligheder. Den nemmeste løsning er at bruge kommandoen scp eller sikker kopi til at overføre dine filer uden at bekymre dig om sikkerheden. I denne artikel vil vi forklare, hvordan du bruger overførselsfiler sikkert ved hjælp af scp-kommandoen på dit Linux-system.

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

Hvad er scp Command i Linux

Når det kommer til at overføre filer over et sikkert netværk, kan scp-kommandoen være meget nyttig. Det står for Secure Copy Protocol og overfører filer og mapper mellem to systemer via SSH-forbindelse (Secure Shell). Med ssh kan du være sikker på sikkerheden af ​​dine filer, da de er krypteret som standard. I enklere vendinger er scp-kommandoen en mere sikker version af cp-kommandoen, som du kan læse alt om i vores Linux Terminal-kommandoartikel.

Sådan bruges scp-kommandoen: Syntaks og indstillinger

Før vi kan overføre filer via scp, lad os se syntaksen og mulighederne for kommandoen lige her:

scp

Forstå syntaksen:

  • Først <[email protected]_ip_address:path/to/source/file> angiver ‘kilde’-systemet, hvorfra du skal overføre dine filer/mapper.
  • For det andet <[email protected]_ip_address:target/path> specificerer det ‘mål’ system, som du vil overføre dine filer/mapper til.

Hvis du forlader en af ​​ovenstående parametre, vil scp-kommandoen i Linux først lede efter filen og derefter kopiere filen lokalt. Nogle af mulighederne for at parre med kommandoen er:

OptionsDestination-PSspecificerer, hvilken port der skal forbindes med værtssystemet. Hvis den udelades, vil den bruge port 22 som standard.-pbevarer ændringstider, adgangstider og tilstande fra den originale fil, når den kopieres til målsystemet.-rKopierer hele biblioteket til målsystemet rekursivt.-JBruges til at forbinde kildesystem og destinationssystem via et proxysystem (jump host).-3når dette flag bruges, kopierer det filerne til både målsystemet såvel som det lokale system-4tvinger scp-kommandoen til kun at bruge IPv4-adresser.-6tvinger scp-kommando til kun at bruge IPv6-adresser.

  Sådan indstilles netværkstidssynkronisering på Linux

Sådan kopieres filer ved hjælp af scp-kommandoen

Før du bruger scp-kommandoen i Linux, er der nogle forudsætninger, du skal opfylde på både værts- og målsystemerne:

  • ssh skal installeres
  • root-adgang eller enhver bruger med sudo-rettigheder

Kopier filer fra lokal vært til fjernmål

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

scp @:

Hvis ovenstående syntaks kan virke kompliceret, vil et eksempel fjerne det:

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

I ovenstående eksempel:

  • test.txt er navnet på den fil, der skal overføres, og den er placeret i den aktuelle mappe i det lokale system.
  • test er brugernavnet på målsystemet.
  • 139.144.11.105 er IP-adressen på målsystemet.
  • /home/remote2/Documents/ er det sted på målsystemet, hvor den overførte fil vil blive gemt.

Kopier filer fra fjernvært til lokalt mål

Hvis du har brug for at overføre en fil fra en fjernvært til din lokale maskine, skal du bruge følgende scp-kommandosyntaks på dit Linux-system:

scp @:

Lad os for eksempel sige, at du skal overføre en fil med navnet test.py fra den fjernserver, du arbejder på, brug denne kommando:

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

I dette eksempel:

  • test er fjernværtens brugernavn.
  • 10.10.11.113 er den eksterne værts IP-adresse.
  • /home/test/test1.py er stien til filen, der skal overføres fra fjernværten.
  • ~/test1.py er navnet på filen, efter at den er overført til den lokale maskine og gemt i hjemmemappen.

Overfør filer fra én fjernvært til et andet fjernmål

Med scp-kommandoen kan du ikke kun overføre filer mellem dit lokale system og en ekstern maskine, men også overføre filer mellem to fjernsystemer. Men før du kan overføre filer fra et fjernsystem til et andet fjernsystem, anbefales det at generere en privat ssh-nøgle og en offentlig ssh-nøgle på kildesystemet og gemme en kopi af den offentlige nøgle i destinationssystemet.

  Sådan installeres Sublime Merge på Linux

Generelt klager brugere over fejlen “Værtsnøglebekræftelse mislykkedes” ved overførsel af filer mellem to fjernsystemer. For at omgå fejlen skal du bruge en ssh-tast som et ekstra mål. Vi har forklaret, hvordan du kan gøre det lige her:

1. Generer et offentligt/privat nøglepar på kildeserveren med denne kommando:

ssh-keygen -t

2. Til krypteringsalgoritmer kan du bruge “rsa”, som er den mest brugte algoritme eller enhver anden algoritme efter eget valg.

3. Derefter bliver du bedt om at vælge placeringen for at gemme ssh-nøglen. Du kan enten gemme det på et hvilket som helst sted efter eget valg eller på standardplaceringen.

4. For adgangssætningen kan du indtaste hvad som helst efter eget valg eller lade det stå tomt ved at trykke på Enter.

5. Kopier derefter den offentlige nøgle til destinationsserveren ved hjælp af kommandoen nedenfor. Med dette kan du endda logge ind på destinationssystemet uden adgangskode ved hjælp af ssh.

ssh-copy-id @

Bemærk: den adgangskodeløse metode til at logge på vil kun virke for den bruger, som du har genereret ssh-nøglen for.

6. Når du har oprettet og gemt ssh-nøglen på fjernserveren, skal du bruge denne scp-kommandosyntaks til at udveksle filer mellem to fjernsystemer, der kører Linux:

scp @: @:

Lad os sige, at du skal overføre en fil med navnet test.txt fra en fjernvært til en anden fjernmodtager, brug kommandoen:

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

I dette eksempel:

  • remote1 er navnet på brugeren i fjernafsenderværten
  • 10.10.11.113 er IP-adressen på fjernafsenderværten
  • /home/test1/test.txt er stien til den fil, der skal sendes
  • remote2 er navnet på brugeren i fjernmodtagerens mål
  • 10.11.27.111 er IP-adressen på fjernmodtagerens mål
  • /home/remote2/Documents/test1.txt er navnet og stien, der skal gemmes for at modtage filen.
  Sådan installeres Debian Linux

Overfør flere filer ved hjælp af scp-kommandoen

Overførsel af flere filer én efter én kan være en kedelig opgave for enhver. I stedet kan du bruge syntaksen nedenfor til at udveksle filer ved hjælp af scp-kommandoen på Linux:

scp @:

For eksempel – Antag at du skal sende fire filer, inklusive test1.txt, test2.py, test3.sh og test4.c, til en fjernmodtager, du kan bruge kommandoen nedenfor:

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

Lad os forstå, hvordan kommandoen i eksemplet fungerer, og hvad den gør:

  • -p 2222 bruges til at angive tilslutning via port 22
  • test1.txt test2.py test3.sh test4.c er navnet på de filer, der skal overføres
  • remote_1 er brugernavnet på det modtagende system
  • 10.10.11.113 er IP-adressen på modtageren
  • /home/remote_1/Documents henviser til stien til at gemme den modtagne fil.

Du kan endda bruge jokertegn til at sende flere filer med samme udvidelse som vist nedenfor:

scp . @:

Hvis du f.eks. skal sende alle .py-filer til en ekstern server, skal du bruge nedenstående scp-kommando i Linux-terminalen:

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

Her,

  • *.py betyder alle python-filer
  • remote1 er modtagerens brugernavn
  • 10.10.11.113 er modtagerens IP-adresse
  • /home/remote_1/ er stedet for at gemme den modtagne fil

Ofte stillede spørgsmål

Er SCP-filoverførsel sikker?

Secure Copy Protocol eller scp er en protokol, der er baseret på SSH-teknologi og bruger kryptering og autentificering til udveksling af filer mellem to værter. Dette sikrer fuldstændig datasikkerhed og integritet mellem de to værter.

Er SCP mere sikker end SFTP?

Både SCP- og SFTP-protokoller er på niveau med hensyn til sikkerhed. Den største fordel ved at bruge scp over SFTP er de hurtige overførselshastigheder, som er særligt nyttige i netværk med høj latens.

Overfør filer sikkert ved hjælp af scp Command i Linux

På et tidspunkt skal hver bruger udveksle nogle filer over netværket. scp-kommandoen gør det nemt at overføre filer sikkert og effektivt selv på et netværk med høj latenstid. Det kan helt sikkert også være nyttigt at kende de forskellige scp-indstillinger og syntaks. Du kan også henvise til vores vejledninger om, hvordan du omdøber en fil i Linux, og hvordan du sletter en fil i Linux for yderligere at forbedre dine filhåndteringsfærdigheder på operativsystemet. Vi håber, at denne artikel hjalp dig med at lære, hvordan du bruger scp-kommandoen til at overføre filer på Linux-computere. Hvis du oplever problemer, mens du bruger kommandoen, så lad os det vide i kommentarfeltet.