Det finns tillfällen när du vill överföra filer mellan ditt lokala system och en fjärrserver. Flera protokoll och metoder finns tillgängliga som gör att du kan hantera filöverföringar på ett säkert sätt.
SCP-kommandot i Linux är ett sådant verktyg som hjälper en användare att dela filer på distans mellan lokala och fjärrvärdar. I den här artikeln kommer vi att diskutera scp-kommandot i detalj, tillsammans med dess användning och några ytterligare funktioner i kommandot.
Vad är Scp-kommandot
Scp, en förkortning för Säker kopia, är ett kommandoradsverktyg i Linux-baserade operativsystem som tillåter en användare att kopiera filer mellan fjärr- och lokala värdar. Eftersom kommandot överför filer över ett nätverk till någon annan värd krävs SSH-åtkomst. SSH (Secure Shell) är ett protokoll som låter dig hantera nätverkstjänster säkert över alla nätverk.
Kommandot scp stöder också några ytterligare funktioner som att ange autentiseringsparametrar, ändra port, överföra kataloger och mer.
Varför Scp är bättre än andra metoder
Scp föredras vanligtvis framför andra filöverföringsmetoder eftersom anslutningen mellan de två värdarna under överföringen är krypterad. SSH-protokollet ansvarar för kryptering av filer, lösenord och andra känsliga detaljer.
Andra överföringsmetoder som Telnet eller FTP har ingen kryptering. Användar- / lösenordstangenten sparas också i klartext vilket inte är bra. En smällare kan enkelt komma åt din information genom att sniffa på ditt nätverk.
Hur man säkert överför filer med Scp
Med kommandot scp kan du överföra filer mellan:
- En lokal värd och en fjärrvärd
- En fjärrvärd och ett lokalt system
- Två avlägsna värdar
Grundläggande syntax
Den grundläggande syntaxen för scp-kommandot är:
scp [alternativ] [källa] [destination]
Överför från lokal värd till ett fjärrsystem
Om du är serveradministratör kan det vara användbart för dig att överföra filer mellan en lokal värd och fjärrvärdar. För att ladda upp en fil med namnet document.txt till en fjärrvärd:
scp /home/document.txt-användare @ remote-host: /home/document.txt
Observera att källan är sökvägen till filen på din lokala lagring. Och destinationen är filens sökväg på fjärrvärden. Du måste också ange användarnamnet och domännamnet för fjärrservern. I ovanstående kommando, användare är användarnamnet och fjärrvärd är domännamnet.
Destinationsvägen separeras från fjärrvärddetaljerna med kolon karaktär (:). Tänk på att användaren måste finnas på fjärrservern om du vill överföra filerna framgångsrikt. Användaren bör också ha skrivåtkomst till den katalog där du vill spara filen.
Efter att ha utfärdat ovannämnda kommando kommer systemet att be dig om fjärranvändarens lösenord. Skriv lösenordet och tryck Stiga på.
user @ remote-host's password:
Om lösenordet är giltigt initialiseras filöverföringen. Om du har angett ett felaktigt lösenord inträffar ett fel.
Innan du försöker kopiera filen med scp-kommandot, se till att fjärrvärddetaljerna och lösenordet är korrekta genom att logga in på servern med SSH.
Från en fjärrvärd till lokal värd
För att kopiera filer från en fjärrvärd till en lokal värd, byt bara ut källan och destinationsvägen i scp-kommandot.
scp-användare @ remote-host: /home/document.txt /home/document.txt
Systemet kommer att be dig om fjärranvändarens lösenord än en gång. Ange lösenordet för att bekräfta överföringsprocessen.
Mellan två fjärrvärdar
För att kopiera filer mellan två fjärrservrar måste både käll- och destinationsvägarna vara kataloger på fjärrvärdarna.
scp user1 @ remote-host1: /home/document.txt user2 @ remote-host2: /home/folder/document.txt
Återigen kommer en uppmaning att uppmanas att ange lösenordet för var och en av de två användarna.
Scp Kommandoradsalternativ
Förutom att helt enkelt överföra filerna från källa till destination, har scp några ytterligare alternativ som kan åberopas med specifika argument.
Ändra port
Som standard fungerar scp-kommandot på port 22. Du kan dock alltid skriva över standardkonfigurationen och ändra porten. De -P flagga låter dig göra detsamma.
Så här använder du något annat portnummer när du kopierar filer från en lokal värd till en fjärrvärd:
scp -P 35 /home/document.txt-användare @ remote-host: /home/document.txt
Det ovan nämnda kommandot säkerställer att scp-kommandot använder port 35 för överföring av filer.
Bevara filstämplar
Du kanske vet det Linux ställer in tidsstämplar för varje fil för att lagra modifieringstid, åtkomsttid och ändra tid associerad med filen. När du överför filen till en annan plats med scp, åsidosätts målfilsens tidsstämplar av aktuell tid.
Om du av någon anledning vill bevara dessa tidsstämplar, använd -p flagga. Lägg märke till att -P och -p flaggor skiljer sig från varandra.
scp -p /home/document.txt-användare @ remote-host: /home/remote/document.txt
Kopiera kataloger
Om du vill kopiera kataloger istället för filer, använd -r flagga för att överföra kataloger rekursivt.
scp -r-användare @ remote-host: / home / videos / home / videos
Undertryckt läge
När du anger scp-kommandot för att överföra filer visar terminalen förloppsindikatorn och annan relaterad information på skärmen. Du kan dock välja att inte visa denna information med hjälp av -q flagga.
scp -q användare @ remote-host: /home/document.txt /home/document.txt
Använd en knappsatsfil för autentisering
Om du vill autentisera fjärrvärdanslutningen med en knappsatsfil anger du filens sökväg med hjälp av -i flagga.
scp -i /home/keypair.pem /home/document.txt användare @ remote-host: /home/document.txt
Kedja flera flaggor tillsammans
Precis som alla andra Linux-kommandon kan du kedja flera argument tillsammans för att göra scp-kommandot mer effektivt.
Till exempel för att ändra port och överföra filer i undertryckt läge:
scp -P 34 -q användare @ remote-host: /home/document.txt home / document.txt
Om du vill använda en knappsatsfil för autentisering och behöver kopiera kataloger till destinationsvägen:
scp -i /home/secret/keypair.pem -r / home / folder user @ remote-host: / home / folder
Filöverföring mellan Linux-system
I internetvärlden har överföring av filer mellan system blivit en viktig uppgift. För dem som administrerar Linux-servrar är det ibland viktigt att ta en säkerhetskopia av servern innan ett specifikt kommando utfärdas. I sådana situationer kommer kommandot scp till nytta.
Liknande, cp-kommandot hjälper till att kopiera filerna från en plats till en annan i ett lokalt system. Det finns många grundläggande kommandon som är ett måste om du bara börjar med Linux.
Detta enkla fuskark hjälper dig att bli bekväm med Linux-kommandoterminalen på nolltid.
Läs Nästa
- Linux
- Filhantering
- Linux
- SSH

Deepesh är Junior Editor för Linux på MUO. Han har skrivit informationsinnehåll på internet i över 3 år. På fritiden tycker han om att skriva, lyssna på musik och spela sin gitarr.
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!
Ett steg till…!
Bekräfta din e-postadress i e-postmeddelandet som vi just skickade till dig.