In questo tutorial spiegheremo come usare SCP (Secure Copy) e Rsync, due comandi che possono essere usati per trasferire file tra due macchine.
Ad esempio, possiamo copiare un file o una directory da locale a remoto o da remoto a sistemi locali.
Quando si utilizza scp
per trasferire i file, tutto è crittografato in modo che i dettagli sensibili non vengano esposti.
In questo tutorial, forniamo esempi di come utilizzare scp
e rsync
comandi per trasferire i file.
SCP (Copia protetta)
scp
copia i file tra host su una rete.
Utilizza ssh(1) per il trasferimento dei dati, utilizza la stessa autenticazione e fornisce la stessa sicurezza di ssh(1).
Il scp
il comando si basa su ssh
per il trasferimento dei dati, quindi richiede una chiave ssh o una password per autenticarsi sui sistemi remoti.
Puoi leggere di più su come configurare le chiavi ssh.
La sintassi generale e l'utilizzo di scp
è:
scp [OPTION] [user@]local:]file1 [user@]remote:]file2
scp
fornisce una serie di opzioni che sono spiegate in modo più dettagliato.
Trasferisci file da locale a remoto con SCP
Per copiare o trasferire un file da una macchina locale a una macchina remota, eseguire il comando seguente:
scp image.png [email protected]:/remote/directory
Dove:
- image.png è il nome del file che vogliamo trasferire da locale a remoto,
- nomeutente_remoto è l'utente sul server remoto,
- 10.10.0.1 è l'indirizzo IP del server,
- /remoto/directory è il percorso della directory in cui vogliamo copiare il file.
Nota: Se non specifichi una directory remota, il file verrà copiato nella home directory dell'utente remoto.
Quando premi invio, ti verrà richiesto di inserire la password dell'utente remoto e il trasferimento inizierà.
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 un nuovo nome:
Ad esempio:
scp image1.png [email protected]:/remote/directory/new_image.png
Trasferisci file da remoto a locale con SCP
Per trasferire un file da una macchina remota alla tua macchina locale, esegui il comando seguente:
scp [email protected]:/remote/directory/new_image.png /local/directory
Trasferisci ricorsivamente una directory da locale a remoto
Per trasferire una directory e tutto il suo contenuto da una macchina locale a un host remoto, usa il seguente comando:
scp -rp sourcedirectory user@dest:/path
NB:Questo crea la directory dei sorgenti all'interno di /percorso, quindi i file saranno in /percorso/directory dei sorgenti
Risincronizzazione
Come scp
, rsync
viene utilizzato per copiare file su o da un host remoto o localmente sull'host corrente.
rsync
viene generalmente utilizzato per trasferire file di grandi dimensioni.
Trasferisci un file da locale a remoto con Rsync
Per copiare un file dal tuo computer locale su un host remoto con rsynch
, esegui il comando seguente
rsync -ave ssh mydirectory [email protected]:/remote/directory/
Conclusione
In questo tutorial hai imparato a usare il scp
e rsync
comando per copiare file e directory tra due macchine.