GNU/Linux >> Linux Esercitazione >  >> Linux

Come trasferire file in modo sicuro utilizzando SCP

SCP sta per copia protetta. È un'utilità della riga di comando Linux utilizzata per copiare in modo sicuro file e directory tra server. SCP utilizza il protocollo SSH, quindi richiede una password o un'autenticazione meno password tra i server. Con SCP, puoi copiare file tra due host remoti dal tuo sistema locale, nonché copiare file tra host locali e remoti.

In questo tutorial, ti mostreremo come utilizzare il comando SCP con esempi.

Prerequisiti

  • Un nuovo VPS Ubuntu 18.04 sulla piattaforma Atlantic.net Cloud.
  • Una password di root configurata sul tuo server.

Crea server cloud Atlantic.Net

Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Ubuntu 18.04 come sistema operativo con almeno 1GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.

Dopo aver effettuato l'accesso al tuo server Ubuntu 18.04, esegui il seguente comando per aggiornare il tuo sistema di base con gli ultimi pacchetti disponibili.

apt-get update -y

1. Sintassi SCP

La sintassi di base del comando SCP è mostrata di seguito:

scp [opzione] [email protected]:/file_o_directory [email protected]:/directory

utente: Nome dell'utente.
ip-sorgente: Indirizzo IP del sistema da cui desideri copiare file o directory.
dest-ip: Indirizzo IP del sistema di destinazione del sistema.

Alcune delle opzioni utilizzate nel comando scp sono elencate di seguito:

-P: Specifica il numero di porta ssh dell'host di destinazione.
-r: Utilizzato per copiare file e directory in modo ricorsivo.
-v: Utilizzato per visualizzare un output dettagliato durante il trasferimento di file.
-C: Utilizzato per abilitare la compressione dei file.
-i: Specifica la chiave SSH.
-l: Utilizzato per limitare la larghezza di banda durante la copia.
-p: Utilizzato per preservare autorizzazioni, modalità e tempo di accesso ai file durante la copia.

2. Copia di un file da un host locale a un host remoto

Se vuoi copiare un file chiamato /etc/rc.local da localhost all'host remoto (172.20.10.3) nella directory /mnt, esegui il comando seguente:

scp /etc/rc.local [email protected]:/mnt/

Dovresti vedere il seguente output:

[email protected]'s password:rc.local                                                                                  100%  306       0,3 KB/s:0,3 KB/s 

Se vuoi copiare più file (in questo esempio useremo /etc/fstab e /etc/hosts, e copiarli sull'host remoto (172.20.10.3) nella directory /mnt), eseguire il comando seguente:

scp /etc/fstab /etc/hosts [email protected]:/mnt/

Dovresti vedere il seguente output:

 [email protected]'s Password:Fstab 100%628 0.6kb/s 00:00 Host 100%249 0.2kb/s 00:00 

3. Copia ricorsiva di file e directory

Puoi usare l'opzione ricorsiva -r con SCP per copiare l'intera directory da un sistema all'altro.

Ad esempio, per copiare la directory denominata /var/log/apache2 da localhost all'host remoto (172.20.10.3) nella directory /mnt in modo ricorsivo, eseguire il comando seguente:

scp -r /var/log/apache2 [email protected]:/mnt/

Dovresti vedere il seguente output:

 [email protected]'s Password:Errore.log 100%0 0.0kb/s 00:00 Access.log.3.GZ 100%61kb 61.3kb/s 00:00 Altro_vhosts_access.log 100%0 0.0kb/s 00:00 Access.log.4.gz 100% 317 0.3kb/s 00:00 Errore.log.3.gz 100% 1622 1,6kb/s 00:00 Errore.log.1 100% 2352 2.3kb/s 00 :00 Access.log 100% 0 0,0 kb/s 00:00 Access.log.1 100% 1287 1,3kb/s 0 0:00 Access.log.2.gz 100%239 0.2kb/s 00:00 Errore.log.2.GZ 100%246 0.2kb/s 00:00 Errore.log.5.gz 100%1471 1.4kb/ s   00:00   error.log.4.gz                                                                       100% 2296     2.2KB/s   00:00

Puoi anche usare l'opzione -v con SCP per visualizzare un output dettagliato durante il processo di copia:

scp -vr /var/log/apache2 [email protected]:/mnt/

4. Copia di file da remoto a host locale

Se vuoi copiare un file chiamato /etc/hostname dall'host remoto (172.20.10.3) all'host locale nella directory /opt, esegui il comando seguente:

esempio [email protected]:/etc/hostname /opt/

Dovresti vedere il seguente output:

 [email protected]'s Password:Hostname 100%6 0.0kb/s 00:00 

5. Copia di file da un host remoto a un altro host remoto

Per copiare file e directory tra due host remoti, dovrai configurare l'autenticazione basata su chiave SSH tra entrambi gli host remoti.

Dopo aver configurato l'autenticazione basata su chiave, copia una directory denominata /var/log da un host remoto (172.20.10.3) all'altro host remoto (172.20.10.4) nella directory /mnt, esegui il comando seguente:

scp -r [email protected]:/var/log [email protected]:/mnt/

6. Limitare l'utilizzo della larghezza di banda durante la copia

È possibile utilizzare l'opzione -l con SCP per limitare la larghezza di banda durante il processo di copia.

Ad esempio, per copiare un file denominato google-chrome-stable_current_amd64.deb da localhost all'host remoto (172.20.10.3) nella directory /opt e limitare la larghezza di banda a 1000 KB/sec (1000×8), eseguire il comando seguente:

scp -l 8000 /home/vyom/Downloads/google-chrome-stable_current_amd64.deb  [email protected]:/opt/

Dovresti vedere il seguente output:

[email protected]'s password:google-chrome-stable_current_amd64.deb                                                                    100%   60 MB                                          100%    60 MB   1.0 MB/s >  1.0 MB/s > 1 

7. Specificare una porta specifica con SCP

In alcuni casi, la porta SSH è diversa sull'host di destinazione. In questo caso, puoi usare l'opzione -P per specificare la porta SSH.

Ad esempio, per copiare un file denominato /etc/hosts sul sistema locale nell'host remoto (172.20.10.3) nella directory /mnt utilizzando la porta 8088, eseguire il comando seguente:

scp -P 8088 /etc/hosts [email protected]:/mnt/

8. Abilitazione della compressione durante la copia

È possibile utilizzare l'opzione -C con SCP per abilitare la compressione all'origine e la decompressione all'host di destinazione. Ciò può aumentare la velocità di trasferimento su file di grandi dimensioni.

Ad esempio, per copiare una directory /var/log/nginx sull'host locale sull'host remoto (172.20.10.3) nella directory /mnt con compressione, eseguire il comando seguente:

scp -r -C /var/log/nginx [email protected]:/mnt/

Dovresti vedere il seguente output:

 [email protected]'s Password:Errore.log 100%0 0.0kb/s 00:00 Access.log.3.GZ 100%217 0.2kb/s 00:00 Errore.log.1 100%974 1.0kb /S 00:00 Access.log 100%0 0,0 kb/s 00:00 Access.log.1 100%90 0.1kb/s 00:00 Access.log.2.GZ 100%239 0.2kb/s 00:00 

9. Conserva autorizzazioni, modalità e tempo di accesso ai file durante la copia

Puoi utilizzare l'opzione -p con SCP per preservare le autorizzazioni, il tempo di accesso e le modalità durante il processo di copia.

Ad esempio, per copiare un file denominato magento-ce-2.3.5-p1-2020-04-24-08-59-28.tar.bz2 dall'host locale all'host remoto (172.20.10.3) nella directory /mnt e conserva le autorizzazioni, il tempo di accesso e le modalità, esegui il comando seguente:

scp -p /home/vyom/Downloads/magento-ce-2.3.5-p1-2020-04-24-08-59-28.tar.bz2 [email protected]:/mnt/

Dovresti vedere il seguente output:

 [email protected]'s Password:Magento-Ce-2.3.5-p1-2020-04-24-08-59-28.tar.bz2 100%112MB 55,9 MB/S 00:02 

Conclusione

Nella guida precedente, hai imparato come utilizzare SCP per trasferire in modo sicuro file e directory da un server all'altro. Inizia oggi stesso con SCP su un account di hosting VPS con Atlantic.Net!


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

  2. Trasferisci in modo sicuro file e cartelle tra computer utilizzando Croc

  3. Come copiare in modo sicuro file tra host Linux utilizzando SCP e SFTP

  4. Come trasferire file tra server in Linux utilizzando SCP e FTP

  5. Come trasferire file in modo sicuro utilizzando sftp (esempi inclusi)

Come eliminare in modo sicuro i file utilizzando il comando Shred in Debian 10

Come trasferire in modo sicuro file tra sistemi Ubuntu utilizzando Croc

Comando SCP Linux per trasferire file in modo sicuro

Procedura:Comandi SFTP – Trasferisci file in modo sicuro su un server remoto

Trasferisci file usando WinSCP

Come eliminare in modo sicuro i file utilizzando il comando Shred in Debian 11