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 remote_username@10.10.0.1:/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 remote_username@10.10.0.1:/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 remote_username@10.10.0.1:/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 remote_user@10.10.0.2:/remote/directory/
Conclusione
In questo tutorial hai imparato a usare il scp e rsync comando per copiare file e directory tra due macchine.