GNU/Linux >> Linux Esercitazione >  >> Linux

Come utilizzare il comando SCP per trasferire file in modo sicuro

SCP (copia protetta) è un'utilità della riga di comando che consente di copiare in modo sicuro file e directory tra due posizioni.

Con scp , puoi copiare un file o una directory:

  • Dal tuo sistema locale a un sistema remoto.
  • Da un sistema remoto al tuo sistema locale.
  • Tra due sistemi remoti dal tuo sistema locale.

Quando si trasferiscono dati con scp , sia i file che la password sono crittografati in modo che chiunque curi il traffico non riceva nulla di sensibile.

In questo tutorial, ti mostreremo come usare scp comando attraverso esempi pratici e spiegazioni dettagliate delle opzioni scp più comuni.

Sintassi del comando SCP #

Prima di entrare in come usare il scp comando, iniziamo esaminando la sintassi di base.

Il scp la sintassi del comando assume la forma seguente:

scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2
  • OPTION - opzioni scp come cifratura, configurazione ssh, porta ssh, limite, copia ricorsiva, ecc.
  • [user@]SRC_HOST:]file1 - File sorgente.
  • [user@]DEST_HOST:]file2 - File di destinazione

I file locali devono essere specificati utilizzando un percorso assoluto o relativo, mentre i nomi dei file remoti devono includere una specifica utente e host.

scp fornisce una serie di opzioni che controllano ogni aspetto del suo comportamento. Le opzioni più utilizzate sono:

  • -P - Specifica la porta ssh dell'host remoto.
  • -p - Conserva la modifica dei file e i tempi di accesso.
  • -q - Utilizzare questa opzione se si desidera eliminare la barra di avanzamento e i messaggi di non errore.
  • -C - Questa opzione forza scp per comprime i dati man mano che vengono inviati alla macchina di destinazione.
  • -r - Questa opzione dice a scp per copiare le directory in modo ricorsivo.

Prima di iniziare #

Il scp il comando si basa su ssh per il trasferimento dei dati, quindi richiede una chiave ssh o una password per l'autenticazione sui sistemi remoti.

I due punti (: ) è come scp distinguere tra località locali e remote.

Per poter copiare i file, devi avere almeno i permessi di lettura sul file di origine e di scrittura sul sistema di destinazione.

Fai attenzione quando copi file che condividono lo stesso nome e posizione su entrambi i sistemi, scp sovrascriverà i file senza preavviso.

Quando si trasferiscono file di grandi dimensioni, si consiglia di eseguire scp comando all'interno di uno screeno tmuxsession.

Copia file e directory tra due sistemi con scp #

Copia un file locale su un sistema remoto con scp Comando #

Per copiare un file da un sistema locale a un sistema remoto, eseguire il comando seguente:

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

Dove file.txt è il nome del file che vogliamo copiare, remote_username è l'utente sul server remoto, 10.10.0.2 è l'indirizzo IP del server. Il /remote/directory è il percorso della directory in cui si desidera copiare il file. Se non specifichi una directory remota, il file verrà copiato nella home directory dell'utente remoto.

Ti verrà richiesto di inserire la password utente e il processo di trasferimento inizierà.

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

L'omissione del nome del file dalla posizione di destinazione copia il file con il nome originale. Se vuoi salvare il file con un nome diverso, devi specificare il nuovo nome del file:

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

Se SSH sull'host remoto è in ascolto su una porta diversa da quella predefinita 22, puoi specificare la porta usando il -P argomento:

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

Il comando per copiare una directory è molto simile a quando si copiano i file. L'unica differenza è che devi usare -r flag per ricorsivo.

Per copiare una directory da un sistema locale a un sistema remoto, usa il -r opzione:

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

Copia un file remoto su un sistema locale usando scp Comando #

Per copiare un file da un sistema remoto a un sistema locale, utilizza la posizione remota come origine e la posizione locale come destinazione.

Ad esempio per copiare un file chiamato file.txt da un server remoto con IP 10.10.0.2 eseguire il comando seguente:

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

Se non hai impostato un accesso SSH senza password sulla macchina remota, ti verrà chiesto di inserire la password utente.

Copia un file tra due sistemi remoti usando scp Comando #

A differenza di rsync , quando si utilizza scp non è necessario accedere a uno dei server per trasferire file da uno a un altro computer remoto.

Il comando seguente copierà il file /files/file.txt dall'host remoto host1.com nella directory /files sull'host remoto host2.com .

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

Ti verrà chiesto di inserire le password per entrambi gli account remoti. I dati verranno trasferiti direttamente da un host remoto all'altro.

Per instradare il traffico attraverso la macchina su cui viene emesso il comando, utilizzare il -3 opzione:

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

Conclusione #

In questo tutorial, hai imparato a usare scp comando per copiare file e directory.

Potresti anche voler configurare un'autenticazione basata su chiave SSH e connetterti ai tuoi server Linux senza inserire una password.

Se ti connetti regolarmente agli stessi sistemi, puoi semplificare il flusso di lavoro definendo tutte le connessioni nel file di configurazione SSH.


Linux
  1. 14 Esempi di comandi SCP per trasferire file in modo sicuro in Linux

  2. Come utilizzare il comando SFTP per il trasferimento di file sicuro

  3. Comando SCP Linux – Come trasferire file SSH da remoto a locale

  4. Come trasferire file in modo sicuro utilizzando SCP

  5. Come trasferire file in modo sicuro utilizzando il comando SCP in Linux

Come usare il comando Tronca in Linux

Come utilizzare un comando file in Linux

Come utilizzare il comando SCP su Linux

Comando SCP Linux per trasferire file in modo sicuro

Come usare il comando lsof in Linux

Come utilizzare il comando shred Linux