Trasferimento sicuro di file e directory utilizzando SCP

Suraj Joshi 12 aprile 2021
  1. Comando SCP
  2. Trasferisci file e directory usando scp
Trasferimento sicuro di file e directory utilizzando SCP

SCP, noto anche come “copia sicura”, è un’utilità della riga di comando per trasferire file e directory da un sistema locale a un sistema remoto e viceversa. Ci permette anche di trasferire file e directory tra due sistemi remoti. I file e le password vengono crittografati durante il trasferimento in modo che sia un modo più sicuro di trasferimento.

Comando SCP

Sintassi

scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2

Bandiere:

  • OPTION: rappresenta le opzioni scp come cifratura, configurazione ssh, porta ssh, limite, copia ricorsiva … ecc
  • [user@]SRC_HOST:]file1: file sorgente o directory da copiare
  • [user@]DEST_HOST:]file2: percorso della directory in cui copiare il file o la directory di origine

scp fornisce varie opzioni per controllare il trasferimento. Alcune delle opzioni più utilizzate sono:

-P Specifica la porta ssh dell’host remoto
-p Conserva modifiche ai file e tempi di accesso.
-q Elimina l’indicatore di avanzamento ei messaggi di errore
-C Comprimi i dati durante il trasferimento
-r Copia i file in modo ricorsivo.

Cose da notare durante l’utilizzo del comando scp:

  1. Questo comando utilizza la chiave o la password ssh per autenticare i sistemi remoti.
  2. Riconosce i sistemi remoti con il simbolo :.
  3. Dobbiamo esaminare i permessi di lettura del file o della directory di origine e i permessi di scrittura del file o della directory di destinazione.
  4. scp sovrascrive i file senza preavviso. Quindi dobbiamo fare attenzione durante il trasferimento di file che condividono lo stesso nome e posizione su entrambi i sistemi.

Trasferisci file e directory usando scp

Copia un file dal sistema locale al sistema remoto

scp main.py remote_username@11.11.0.200:/Documents/directory

Questo comando ci richiederà una password utente e il trasferimento inizierà una volta inserita la password corretta.

Produzione:

remote_username@11.11.0.200's password:
main.py                             100%    0     0.0KB/s   00:00

Copia il file main.py sul nostro sistema locale sul server remoto con nome utente remote_username e indirizzo IP 11.11.0.200. /Documents/directory rappresenta la directory di destinazione sul server remoto in cui deve essere copiato il file. Se la directory remota non è specificata, il file verrà copiato nella directory home della macchina remota.

Se SSH sul telecomando sta ascoltando una porta diversa dalla porta predefinita 22, possiamo specificare la porta usando l’opzione -P.

scp -P 8080 main.py remote_username@11.11.0.200:/Documents/directory

Copiare una directory dal sistema locale al sistema remoto

Dobbiamo usare l’argomento -r con il comando scp per trasferire directory che rappresenta un trasferimento ricorsivo di tutti i file all’interno della directory.

scp -r /Documents/myapp remote_username@11.11.0.200:/Documents/remote_app

Copia la directory myapp all’interno della directory Documents sulla macchina locale nella directory remote_app all’interno di Documents della macchina remota.

Copiare un file dal sistema remoto al sistema locale

Per copiare un file di sistema remoto nel sistema locale, utilizziamo una posizione remota come origine e una posizione locale come destinazione.

scp remote_username@11.11.0.200:/remote/main.py /Documents/local

Copia il file main.py dal sistema remoto al nostro sistema locale con la directory di destinazione /Documents/local.

Copia file da una posizione remota a un’altra posizione remota

scp userA@11.11.0.200:/host1/main.py userB@11.11.0.205:/host2

Copia il file /host1/main.py dall’host remoto con indirizzo IP 11.11.0.200 alla directory host2 nell’host con indirizzo IP 11.11.0.205.

Per instradare il traffico attraverso la macchina in cui viene emesso il comando, aggiungiamo l’opzione -3 al comando scp.

scp -3 userA@11.11.0.200:/host1/main.py userB@11.11.0.205:/host2
Autore: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Articolo correlato - Linux Files and Directories