Scp
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.