SCP in modo ricorsivo

SCP in modo ricorsivo
Copia sicura o SCP è un'utilità della linea di comando che consente agli utenti di trasferire file e directory in modo sicuro da una macchina a un'altra protocollo SSH.

SCP è utile in quanto è facile da usare. Alcune delle funzionalità dell'utilizzo di SCP per trasferire file su host remoti includono:

  • Il trasferimento di file e directory viene implementato su SSH, migliorando così la sicurezza,
  • Supporta una copia bidirezionale. io.e., può trasferire file e directory da e verso un host remoto.
  • Fa parte del pacchetto OpenSSH e pertanto non richiede un'installazione di pacchetto separato.

Per questo tutorial, cammineremo attraverso come copiare file e directory in modo ricorsivo usando SCP. L'uso di SCP accelerà il trasferimento del file e della directory.

SCP BASIC

Prima di illustrare come copiare file e directory in modo ricorsivo, esaminiamo alcuni SCP di base. Sentiti libero di saltare alla sezione di cui hai bisogno.

La sintassi generale per il comando SCP è:

SCP [opzione] User@src_ip: src_filename user@dst_ip: dst_filename

Iniziamo chiamando il comando SCP.

  • Successivamente, specifichiamo le opzioni che ci consentono di modificare il comportamento di base del comando. Le opzioni supportate includono porta SSH personalizzata, copia ricorsiva, file di identità e tale.
  • Successivamente, impostiamo il nome del file di origine.
  • Infine, impostiamo il nome del file di destinazione.

NOTA: Assicurarsi di impostare il nome utente e l'host per file remoti.

Esempio 1 - Copia file remoto sul locale

Di seguito sono riportati esempi di come si possono copiare i file da e verso le macchine remote utilizzando il comando SCP:

Prima di iniziare:

  • Assicurati di avere l'accesso SSH all'host remoto (utilizzare una chiave SSH o una password).
  • Assicurati di avere l'autorizzazione di lettura sul file e le directory che devi copiare e scrivere le autorizzazioni sul sistema di destinazione.

Per copiare un file o una directory da una macchina remota a una macchina locale, dobbiamo specificare la macchina remota come sorgente e macchina locale come sistema di destinazione.

Ad esempio, ho un file di backup.ZST (impara a usare ZST) su un server REMOTE CENTOS e devo scaricarlo sulla mia macchina Fedora locale. In tal caso, posso fare:

SCP [email protected]:/home/centos/downloads/backup.ZST/Home/Fedora/Download

Una volta eseguito il comando sopra, SCP mi chiederà una password SSH al server CentOS e scaricherà il backup.File ZST nella mia cartella di download locale.

Esempio 2 - Copia il file locale su host remoto

Allo stesso modo, posso trasferire un file locale su un host remoto usando SCP.

Ad esempio, per trasferire un file chiamato backup.zip dalla mia macchina Fedora al mio server CentOS, posso fare:

SCP/Home/Fedora/Documents/Backup.zip [email protected]:/Home/Centos/Documents

In questo caso, copiamo il backup.File zip dalla cartella dei miei documenti alla cartella dei documenti della mia macchina CentOS.

È bene specificare esplicitamente la directory remota in cui trasferirai il file su ... se non specificato, SCP memorizza i file nella directory home utente remota.

Esempio 3 - SCP sulla porta non default

Se stai eseguendo SSH su una porta non default (22), è possibile specificare la porta utilizzando il flag -p.

Per imparare a trovare la porta su cui è in esecuzione SSH, controlla il link qui sotto:

https: // linuxhint.com/find-running-ssh-port/
Supponiamo che SSH sia in esecuzione sulla porta 3090, posso usare il comando:

SCP -P 3090 Backup.zst [email protected]:/home/centos/downloads/

Questo copia il file all'host remoto ma utilizzando una porta SSH non default.

Come copiare ricorsivamente file e directory

Se si desidera copiare ricorsivamente file e directory da o a un host remoto utilizzando SCP, è necessario specificare il flag -r.

Ad esempio, supponiamo che io voglia ottenere tutti i file di registro dal server CentOS al mio computer locale. In tal caso, posso eseguire il comando:

sudo SCP -r [email protected]:/var/log/logs

Noterai che ho usato l'account root per il mio server CentOS. Questo perché la directory /var /log è limitata solo all'utente root.

Una volta completato, gli interi file e directory all'interno della directory/var/log verranno trasferiti nella directory/logs sulla mia macchina locale.

Conclusione

In questa guida, abbiamo imparato come utilizzare l'utilità SCP per trasferire file da e verso un host remoto. Se è necessario eseguire enormi trasferimenti utilizzando SCP, assicurarsi di utilizzare una sessione persistente come TMUX.

Grazie per aver letto e conchiglie ovunque!