Jannah-tema Lisensen er ikke validert. Gå til siden for temaalternativer for å validere lisensen. Du trenger en enkelt lisens for hvert domenenavn.

Hvordan overføre filer sikkert i Linux ved hjelp av SCP

Når du overfører filer til en ekstern Linux-server, har du noen få alternativer. En av de beste metodene er å bruke et program kalt Secure Copy, eller SCP, som kjører over SSH for raskt å overføre filer over nettverket til et eksternt system. Denne opplæringen viser deg hvordan du overfører filer sikkert i Linux ved hjelp av SCP.

scp-transfer-linux-00-featured-image-800x400.jpg Slik overfører du filer sikkert i Linux ved hjelp av SCP

SSH-konfigurasjon

På den eksterne serveren din må du installere en SSH-server. Den mest populære på Linux er OpenSSH-serveren. For å installere den, kjør en av følgende kommandoer:

# Debian/Ubuntu-basert server sudo apt install ssh # Fedora sudo dnf install openssh

scp-transfer-linux-01-installing-ssh.png Slik overfører du filer sikkert i Linux ved hjelp av SCP

Avhengig av distroen din, må du kanskje tillate SSH gjennom noen programvarebrannmurer. I Ubuntu eksisterer ikke dette problemet, men i Fedora Du må også kjøre følgende kommandoer:

sudo brannmur-cmd --add-service=ssh --permanent sudo brannmur-cmd --reload

scp-transfer-linux-02-fedora-enable-firewall.png Slik overfører du filer sikkert i Linux ved hjelp av SCP

Koble til systemet ditt via SSH

Før du kan koble til via SSH, må du vite den eksterne serverens IP-adresse. På grafiske servere vises IP-adressen i nettverksappleten i systeminnstillingene. På de fleste servere må du bruke ip-kommandoen i terminalen.

ip addr

scp-transfer-linux-04-check-ip-address.png Slik overfører du filer sikkert i Linux ved hjelp av SCP

I utgangen finner du linjen som begynner med inet innenfor ethX أو enpXsy , avhengig av hvordan nettverksgrensesnittet ditt kobles til systemet. I mitt tilfelle er det det 192.168.68.108.

å teste SSH-tilkobling , gå til Enhet Linux annerledes og type:

endring "bruker" til meg brukernavn den faktiske serveren.

scp-transfer-linux-05-connecting-to-remote-server.png Slik overfører du filer sikkert i Linux ved hjelp av SCP

Tast inn passord Denne kontoen, og du jobber. Hvis du får spørsmål vedr "Ektheten til verten kan ikke bevises." Du må bare svare med "Ja". Det er en sikkerhetssjekk utformet for å sikre at du er koblet til din faktiske server og ikke en svindel. Du bør se den samme meldingen på klientsystemet som du ser når du logger på direkte på serveren, noe som betyr at tilkoblingen var vellykket. Du bør også konfigurere SSH-tilkoblinger for maksimal sikkerhet, eller til og med Sett opp tofaktorautentisering , før du går videre til neste trinn.

Les også:  Lær hva som er nytt i Fedora 43 beta

Bruk SCP til å overføre filer

Nå som du har testet SSH-tilkoblingen, begynn å kopiere filer mellom de to enhetene. Sikker kopiering oppnås ved å bruke scp-kommandoen. Det grunnleggende formatet til scp-kommandoen er:

scp /PATH/TO/FILE USER@IP-ADRESSE:PATH/TO/DESIRED/DESTINATION

For eksempel for å kopiere en fil "backup.tar.gz" Fra den lokale maskinen til en mappe "backup.tar.gz" i brukerens hjemmekatalog "ramces" På den eksterne serveren med adresse IP 192.168.68.165 , bruk:

scp backup.tar.gz [e-postbeskyttet]:~/sikkerhetskopier/

scp-transfer-linux-06-basic-copying.png Slik overfører du filer sikkert i Linux ved hjelp av SCP

På samme måte som når du kobler til med ssh, vil du bli bedt om passordet. Du vil ikke bli bedt om brukernavnet, som spesifisert i kommandoen.

Du kan også bruke jokertegn som følgende:

scp *.tar.gz [e-postbeskyttet]:~/sikkerhetskopier/

scp-transfer-linux-07-glob-matching-copy.png Slik overfører du filer sikkert i Linux ved hjelp av SCP

For å kopiere en fil fra den eksterne serveren til den lokale maskinen, reverser du bare parameterne:

scp [e-postbeskyttet]:~/backups/backup.tar.gz ./

scp-transfer-linux-08-inverse-copying.png Slik overfører du filer sikkert i Linux ved hjelp av SCP

Legger du merke til poenget på slutten av det? Det betyr "gjeldende mappe" , som med cp standard kommandoer أو etc. Du kan enkelt velge en annen katalog hvis du vil.

scp -r [e-postbeskyttet]:~/backups/backups-from-server/

Og det samme med jokertegn:

scp [e-postbeskyttet]:~/backups/*.txz ./

For å rekursivt kopiere en katalog til en ekstern server, bruk alternativ -r:

scp -r sikkerhetskopier/ [e-postbeskyttet]:~/sikkerhetskopier/

scp-transfer-linux-09-recursive-copying.png Slik overfører du filer sikkert i Linux ved hjelp av SCP

For å kopiere en duplikatkopi av en katalog fra den eksterne serveren til den lokale maskinen, bruk:

scp -r [e-postbeskyttet]:~/backups/ ./

scp-transfer-linux-10-reverse-recursive-copying.png Slik overfører du filer sikkert i Linux ved hjelp av SCP

Filoverføringskomprimering i SCP

Bortsett fra grunnleggende kopiering, er det også mulig å endre SCPs oppførsel under disse filoverføringene. Du kan for eksempel bruke taggen -C For å komprimere dataene som SCP sender til eksterne klienter:

scp -C backup.tar.gz [e-postbeskyttet]:/home/ramces/

Dette alternativet fungerer ved å komprimere hver datapakke når den sendes gjennom SCP. Som sådan kan dette være utrolig nyttig hvis du har en båndbreddebegrenset tilkobling og vil pålitelig sende en fil til en ekstern server.

scp-transfer-linux-11-data-compression-copy.png Slik overfører du filer sikkert i Linux ved hjelp av SCP

I likhet med alternativene ovenfor, kan du også bruke -C sammen med taggen -r Komprimer filer og overfør dem rekursivt til en ekstern maskin. For eksempel, følgende kommando komprimerer og gjenoppretter en fil "backup.tar.gz" Fra min eksterne server:

scp-Cr [e-postbeskyttet]:/home/ramces/backups /home/ramces/

scp-transfer-linux-12-reverse-data-compression-copy.png Slik overfører du filer sikkert i Linux ved hjelp av SCP

Optimaliser dataoverføring med SCP

For det meste prøver SCP å bruke krypteringsalgoritme AES-128 for alle filoverføringene. Det er imidlertid tilfeller der denne spesielle algoritmen ikke vil være egnet for filene du vil overføre.

Les også:  Hvorfor Qubes Linux kanskje ikke er det riktige valget for deg

Når du vet dette, er det mulig å forbedre og sikre SCP ytterligere ved direkte å endre krypteringsalgoritmen for en spesifikk overføring. For å gjøre dette må du bruke taggen -c etterfulgt av koden du vil bruke.

For eksempel flytter følgende kommando en fil "backup.tar.gz" til min eksterne server ved hjelp av AES-256:

scp -c aes256-ctr ./backup.tar.gz [e-postbeskyttet]:/home/ramces/

scp-transfer-linux-13-change-default-cipher.png Slik overfører du filer sikkert i Linux ved hjelp av SCP

Dessuten gir det deg muligheten -c Oppgi også en liste over chiffer du vil bruke til å overføre en bestemt fil. For eksempel bruker følgende kommando begge deler AES-192 و AES-256 mens du overfører en fil "backup.tar.gz" Til min eksterne server:

scp -c aes192-ctr, aes256-ctr ./backup.tar.gz [e-postbeskyttet]:/home/ramces/

scp-transfer-linux-14-create-cipher-preference-list.png Slik overfører du filer sikkert i Linux ved hjelp av SCP

Begrens båndbreddebruk i SCP

Selv om filpakkekomprimering kan hjelpe deg å bruke SCP under dårlige nettverksforhold, kan det også begrense båndbredden programmet bruker under overføring. Dette er nyttig i tilfeller der du bruker en begrenset tilkobling og ikke vil at SCP skal ta over nettverksbåndbredden.

For å begrense den effektive båndbredden til programmet, må du bruke tag -l etterfulgt av det maksimale beløpet du ønsker I kilobit per sekund (Kb/s). Hvis du for eksempel kjører følgende kommando, flyttes en fil "backup.tar.gz" Til min eksterne server med en effektiv båndbredde på 1600 Kb/s:

scp -l 1600 ./backup.tar.gz [e-postbeskyttet]:/home/ramces/

scp-transfer-linux-15-limit-bandwidth-during-copy.png Slik overfører du filer sikkert i Linux ved hjelp av SCP

tele-til-tele med SCP

Bortsett fra å kopiere lokale filer til din eksterne server og omvendt, kan du også bruke SCP til å administrere flere eksterne servere fra din lokale maskin, fordi SCP bare håndterer filoverføringer og ikke skiller mellom en lokal maskin og en ekstern maskin.

For å overføre mellom to eksterne servere, må du eksplisitt oppgi brukernavnet og adressen til hver av disse maskinene. Hvis du for eksempel kjører følgende kommando, flyttes en fil "remote-backup.tar.gz" min mellom to eksterne servere:

scp [e-postbeskyttet]:/home/ramces/remote-backup.tar.gz [e-postbeskyttet]:/home/ramces/

scp-transfer-linux-16-remote-to-remote-copy.png Slik overfører du filer sikkert i Linux ved hjelp av SCP

Bruk en proxy med SCP

Som standard bruker SCP din lokale maskins IP-adresse når den overfører filer mellom to forskjellige verter. Selv om dette er helt greit i normale situasjoner, kan det være et problem hvis det lokale nettverket begrenser SCP-aktivitet. En rask måte å håndtere dette problemet på er å sende din lokale tilkobling gjennom en SSH-proxy.

For å gjøre dette må du bruke en tag -o etterfulgt av et alternativ ProxyCommand. Dette lar deg opprette en grunnleggende SSH-tilkobling til en ny enhet som igjen vil utføre SCP-kommandoen din. For eksempel vil kjøring av følgende opprette en ny SSH-agent på en ekstern maskin og overføre en fil "backup.tar.gz" bruker det:

scp -o "ProxyCommand ssh [e-postbeskyttet] nc %h %p" ./backup.tar.gz [e-postbeskyttet]:/home/ramces/

scp-transfer-linux-17-ssh-proxy-bypass.png Slik overfører du filer sikkert i Linux ved hjelp av SCP

Endre standardporten i SCP

Bortsett fra å lage en grunnleggende SSH-proxy, kan du også endre standardporten for SCP. Dette er spesielt nyttig hvis du sikrer en Linux-server og ikke ønsker å avsløre noen virtuelle porter.

Les også:  Hvordan fjerne passord fra en PDF-fil i Linux

For å bruke SCP med en annen port, må du bruke et flagg -P etterfulgt av portnummeret du vil bruke. For eksempel vil følgende kommando kopiere en katalog "Sikkerhetskopiering" rekursivt og koble til den eksterne serveren ved hjelp av porten 2222:

scp -r -P 2222 ./backup [e-postbeskyttet]:/home/ramces/

scp-transfer-linux-18-using-custom-port.png Slik overfører du filer sikkert i Linux ved hjelp av SCP

Bruk SCP Stillemodus

Til slutt er det også mulig å fullstendig fjerne enhver terminalutgang fra SCP-kommandoen. Dette er spesielt nyttig hvis du vil lage et ikke-interaktivt skript som kjører i terminalen din. Ikke bare det, men du kan også automatisere denne prosessen fullt ut ved å opprette cronjob og overføre SSH-nøkkel privat til serveren din.

For å lage en stillegående SCP-transport må du bruke taggen -q. For eksempel vil følgende kommando flytte en fil "backup.tar.gz" stille til min eksterne server:

scp -q ./backup.tar.gz [e-postbeskyttet]:/home/ramces/

scp-transfer-linux-19-quiet-mode.png Slik overfører du filer sikkert i Linux ved hjelp av SCP

ofte stilte spørsmål

Q1. Fjernkontrollen min til å teleportere fungerer ikke i SCP. Hvordan kan jeg fikse dette?
svar. Dette problemet er mest sannsynlig forårsaket av en blokkert port i en av den eksterne maskinens konfigurasjonsfiler. For å fikse dette, sørg for at standardporten for SSH er åpen på begge enhetene.

Dette problemet kan også være forårsaket av at en av de eksterne maskinene dine er bak en CG-NAT-tilkobling, så enhver ekstern tilkobling til den eksterne maskinen vil ikke løse seg ordentlig. For å løse dette problemet må du bruke VLAN-programvare , Som for eksempel Yggdrasil , som lar deg passere CG-NAT.

Spørsmål 2. Jeg slo på SCP-proxyen og den eksterne verten lukket tilkoblingen. Hva kan jeg gjøre?
svar. Dette problemet skyldes mest sannsynlig et problem med proxy-maskinen din. For å starte SSH-agenten riktig, sørg for at maskinen du vil bruke har en OpenSSH-server og netcat. For å installere disse programmene i Ubuntu, Kjør følgende kommando: sudo apt installer ssh netcat.

Q3. Er det mulig å finne ut alle tilgjengelige chiffer for SCP?
svar. Som standard er SCP avhengig av SSH-protokollen for krypteringsfunksjonene. På grunn av dette kan du bruke SSH-skriptet til å skrive ut en liste over chiffer som du kan bruke sammen med SCP. Du kan for eksempel løpe ssh -Q chiffer Skriver ut en kort liste over alle tilgjengelige chiffer på enheten.

Gå til toppknappen