Android

Hur man använder kommandot scp för att säkert överföra filer

SCP Memes | #62

SCP Memes | #62

Innehållsförteckning:

Anonim

SCP (säker kopia) är ett kommandoradsverktyg som låter dig säkert kopiera filer och kataloger mellan två platser.

Med scp kan du kopiera en fil eller katalog:

  • Från ditt lokala system till ett fjärrsystem. Från ett fjärrsystem till ditt lokala system. Mellan två fjärrsystem från ditt lokala system.

Vid överföring av data med scp är både filerna och lösenordet krypterade, så att någon som snuffar på trafiken inte blir något känsligt.

I den här tutorialen visar vi dig hur du använder scp kommandot genom praktiska exempel och detaljerade förklaringar av de vanligaste scp-alternativen.

SCP-kommandosyntax

Innan vi går in på hur du använder kommandot scp , låt oss börja med att granska grundsyntaxen.

Syntaxen för scp kommandon har följande form:

scp SRC_HOST:]file1 DEST_HOST:]file2

  • OPTION - scp-alternativ som chiffer, ssh-konfiguration, ssh-port, limit, rekursiv kopia… etc. SRC_HOST:]file1 - SRC_HOST:]file1 . DEST_HOST:]file2 - Destinationsfil

Lokala filer ska anges med en absolut eller relativ sökväg medan fjärrfilnamn bör innehålla en specifikation för användare och värd.

scp tillhandahåller ett antal alternativ som styr alla aspekter av dess beteende. De mest använda alternativen är:

  • -P Anger den externa värdens ssh-port. -p Bevar filändring och åtkomsttider. -q Använd det här alternativet om du vill undertrycka framstegsmätaren och icke-felmeddelanden. -C . Detta alternativ kommer att tvinga scp att komprimera data när det skickas till destinationsmaskinen. -r här alternativet säger scp att kopiera kataloger rekursivt.

Innan du börjar

scp kommandot förlitar sig på ssh för dataöverföring, så det kräver en ssh-nyckel eller lösenord för att verifiera på fjärrsystemen.

Kolon ( scp är hur scp skiljer mellan lokala och avlägsna platser.

För att kunna kopiera filer måste du ha minst läsbehörigheter för källfilen och skriva tillstånd på målsystemet.

Var försiktig när du kopierar filer som har samma namn och plats på båda systemen, scp kommer att skriva över filer utan varning.

Vid överföring av stora filer rekommenderas att köra kommandot scp en skärm eller tmux-session.

Kopiera filer och kataloger mellan två system med scp

Kopiera en lokal fil till ett fjärrsystem med kommandot scp

För att kopiera en fil från ett lokalt till ett fjärrsystem kör följande kommando:

scp file.txt [email protected]:/remote/directory

Där, file.txt är namnet på filen vi vill kopiera, är remote_username användaren på fjärrservern, 10.10.0.2 är serverns IP-adress. /remote/directory är sökvägen till den katalog du vill kopiera filen till. Om du inte anger en fjärrkatalog, kopieras filen till den fjärrkatalogen för användarens hem.

Du blir ombedd att ange användarlösenordet och överföringsprocessen startar.

[email protected]'s password: file.txt 100% 0 0.0KB/s 00:00

Om du släpper filnamnet från destinationsplatsen kopieras filen med det ursprungliga namnet. Om du vill spara filen under ett annat namn måste du ange det nya filnamnet:

scp file.txt [email protected]:/remote/directory/newfilename.txt

Om SSH på fjärrvärden lyssnar på en annan port än standard 22 kan du ange porten med -P argumentet:

scp -P 2322 file.txt [email protected]:/remote/directory

Kommandot att kopiera en katalog är ungefär som vid kopiering av filer. Den enda skillnaden är att du måste använda -r flaggan för rekursiv.

För att kopiera en katalog från ett lokalt till fjärrsystem använder du alternativet -r :

scp -r /local/directory [email protected]:/remote/directory

Kopiera en fjärrfil till ett lokalt system med hjälp av scp ommand

Om du vill kopiera en fil från en fjärrkontroll till ett lokalt system använder du fjärrplatsen som källa och lokal plats som destination.

För att exempelvis kopiera en fil med namnet file.txt från en fjärrserver med IP 10.10.0.2 kör följande kommando:

scp [email protected]:/remote/file.txt /local/directory

Kopiera en fil mellan två scp kommandot scp

Till skillnad från rsync behöver du inte logga in på en av servrarna för att överföra filer från en till en annan rsync när du använder scp .

Följande kommando kopierar filen /files/file.txt från host1.com till katalogen /files host2.com .

scp [email protected]:/files/file.txt [email protected]:/files

Du blir ombedd att ange lösenord för båda fjärrkonton. Uppgifterna kommer att överföras direkt från en fjärrvärd till en annan.

För att dirigera trafiken genom maskinen som kommandot utfärdas använder du alternativet -3 :

scp -3 [email protected]:/files/file.txt [email protected]:/files

Slutsats

I denna handledning lärde du dig att använda scp kommandot för att kopiera filer och kataloger.

Du kanske också vill ställa in en SSH-nyckelbaserad autentisering och ansluta till dina Linux-servrar utan att ange ett lösenord.

scp-terminal