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 opzioniscp
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
:
- Questo comando utilizza la chiave o la password
ssh
per autenticare i sistemi remoti. - Riconosce i sistemi remoti con il simbolo
:
. - 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.
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
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn