Scp

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

scp - Kopiera filer över SSH

Kommandot `scp` används för att kopiera filer och kataloger mellan olika datorer över ett SSH-protokoll i ett Unix-liknande operativsystem.

Syntax

scp [ALTERNATIV] [KÄLLA]... [MÅL]

Beskrivning

Kommandot `scp` (secure copy) används för att kopiera filer mellan datorer över ett nätverk med hjälp av SSH för säker dataöverföring. `scp` kan kopiera filer från en lokal dator till en fjärrdator, från en fjärrdator till en lokal dator, eller mellan två fjärrdatorer.

Alternativ

Kommandot `scp` stöder flera alternativ som kan användas för att justera hur kopieringen utförs:

  • -1 - Tvinga SSH-protokoll version 1.
  • -2 - Tvinga SSH-protokoll version 2.
  • -3 - Kopiera filer mellan två fjärrvärdar via den lokala datorn.
  • -4 - Tvinga användning av IPv4-adresser.
  • -6 - Tvinga användning av IPv6-adresser.
  • -C - Komprimera data under överföring.
  • -c cipher - Använd den angivna chiffersviten för kryptering.
  • -F config - Ange en alternativ konfigurationsfil för SSH.
  • -i identitetsfil - Använd den angivna filen som identitetsfil (privat nyckel).
  • -l limit - Begränsa bandbreddsanvändningen till angivet antal Kbit/s.
  • -o option - Ange SSH-alternativ i formatet `option=value`.
  • -P port - Anslut till den angivna porten på fjärrvärden.
  • -p - Bevara filers tidsstämplar och rättigheter.
  • -q - Tyst läge, visa inte överföringsstatus.
  • -r - Rekursivt kopiera hela kataloger.
  • -S program - Använd det angivna programmet som SSH-klient.

Exempel

Här är några praktiska exempel som visar hur du kan använda `scp`-kommandot:

  • För att kopiera en fil från den lokala datorn till en fjärrdator:

scp fil.txt användare@fjarrhost:/väg/till/mal

  • För att kopiera en fil från en fjärrdator till den lokala datorn:

scp användare@fjarrhost:/väg/till/fil.txt /lokal/väg/till/mal

  • För att kopiera en hel katalog rekursivt från den lokala datorn till en fjärrdator:

scp -r katalog användare@fjarrhost:/väg/till/mal

  • För att kopiera en fil från en fjärrdator till en annan fjärrdator via den lokala datorn:

scp -3 användare1@fjarrhost1:/väg/till/fil.txt användare2@fjarrhost2:/väg/till/mal

  • För att kopiera en fil och använda en specifik SSH-konfigurationsfil:

scp -F /väg/till/ssh_config fil.txt användare@fjarrhost:/väg/till/mal

  • För att begränsa bandbreddsanvändningen till 1000 Kbit/s:

scp -l 1000 fil.txt användare@fjarrhost:/väg/till/mal

Skillnader mellan macOS och Linux

Det finns några viktiga skillnader att tänka på när man använder `scp`-kommandot på macOS jämfört med Linux:

  • Standardinstallationer: På både macOS och de flesta Linux-distributioner levereras `scp` som en del av OpenSSH-paketet, vilket gör att det fungerar på liknande sätt på båda plattformarna.
  • Alternativ och funktioner: OpenSSH-versionerna på macOS och Linux kan ha små skillnader i de senaste funktionerna och alternativ beroende på versionen som är installerad. Det är bra att kontrollera `man scp` på respektive system för att se vilka alternativ som är tillgängliga.
  • Filnamnshantering: På macOS kan `scp` hantera filnamn med specialtecken och mellanslag automatiskt, medan detta kan variera något på äldre Linux-distributioner. Moderna Linux-distributioner har dock förbättrat denna hantering.

Det är alltid bra att konsultera `man`-sidan för `scp` på din specifika plattform för att se vilka alternativ och funktioner som är tillgängliga.

Felsökning

Om du får ett felmeddelande när du använder `scp`, kontrollera följande:

  • Att värden du försöker ansluta till är nåbar och att rätt DNS-namn eller IP-adress används.
  • Att du har rättigheter att ansluta till fjärrdatorn och att rätt autentiseringsmetod används (lösenord eller nyckel).
  • Att rätt port används och att den är öppen på fjärrdatorn.
  • Att syntaxen för ditt kommando är korrekt. Kontrollera att du använder rätt alternativ och parametrar.
  • Att du har tillräckliga rättigheter för att läsa och skriva filerna på både käll- och måldatorerna.

Se även

  • ssh - Anslut till en fjärrdator över SSH.
  • rsync - Synkronisera filer och kataloger över nätverket.
  • sftp - SSH File Transfer Protocol, en säker filöverföringsprotokoll.

Källor