Come utilizzare il comando SCP

Come utilizzare il comando SCP
In Linux, la copia di file nel sistema locale è gestita dal comando CP. Quando si tratta di copiare file su sistemi remoti, il comando SCP è la strada da percorrere. Il comando SCP sfrutta il protocollo SSH per copiare i file tra due posizioni.

In questa guida, controlla come utilizzare il comando SCP su Linux.

Comando Linux SCP

Il comando SCP viene preinstallato su tutte le distro Linux. Non è necessario alcuna installazione di pacchetti aggiuntivi.

Lavorare con SCP richiede l'installazione di SSH sia su macchine locali che remote. Lo strumento SCP stesso utilizza SSH al centro. Si riflette durante l'uso di SCP. La sintassi e l'uso sono abbastanza simili a lavorare con SSH. Se hai un'esperienza precedente con SSH, allora SCP sarà più facile da capire. Ecco una rapida guida su come usare SSH.

Simile a SSH, il comando SCP si collegherà a un determinato account utente sul sistema remoto. Devi conoscere il nome utente e la password dell'account utente. Si noti che l'account utente remoto deve anche avere l'autorizzazione del file alla directory di destinazione (sul sistema remoto). Ecco una guida approfondita sulle autorizzazioni e la proprietà dei file Linux.

Il trasferimento dei dati con SCP è crittografato, quindi non è necessario temere il furto di dati.

Usando SCP

Struttura di comando di base:

Tutti i comandi SCP seguiranno generalmente la seguente struttura di comando. Qui, copriremo un file dalla macchina locale alla macchina remota.

$ SCP : @: & ltremote_directory>

Ecco una rapida rottura della struttura di comando.

  • : Vari parametri SCP che definiscono il comportamento SCP, ad esempio la porta SSH, la configurazione SSH, il cifro, la copia ricorsiva, ecc.
  • :: Simile al comando CP Linux, è la "fonte". Definisce il file/directory di origine da copiare nella posizione di destinazione.
    Se "" non viene fornito, SCP presuppone automaticamente che sia il nome utente locale sulla macchina locale.
  • @:: Simile al comando CP, è la "destinazione". La struttura è simile a quella che si inserisce quando ti colleghi a un sistema remoto tramite SSH.
    Se "" non viene fornito, SCP presuppone automaticamente che sia il nome utente locale sulla macchina locale.

Copia di un file locale in una directory remota

Ecco un file di testo fittizio. È un file di testo da 2 MB contenente testo ripetitivo.

$ gatto fittizio.TXT

Il seguente comando SCP copierà il file di testo nella macchina remota. Utilizzare il flag "-v" per l'uscita verbosa.

$ SCP -V/Home/Viktor/Desktop/Dummy.txt [email protected]:/Home/Cloudsigma

Se si desidera salvare il file con un nome diverso, è necessario specificare il nome file a destinazione. Ad esempio, il seguente comando salverà "Dummy.txt "come" Rinomed-Dummy.txt "sulla macchina remota.

$ SCP/Home/Viktor/Desktop/Dummy.txt [email protected]:/Home/Cloudsigma/Rinomed-Dummy.TXT

Copia di un file remoto sulla macchina locale

Il comando SCP può anche copiare un file remoto in una directory locale.

Per dimostrazione, "Dummy.txt ӏ memorizzato su una macchina remota. Per copiarlo localmente, utilizzare il comando seguente.

$ SCP [email protected]:/Home/Cloudsigma/Dummy.txt/home/viktor/

Per salvare il file con un nome file diverso, specificare il nome file nel comando.

$ SCP [email protected]:/Home/Cloudsigma/Dummy.TXT/Home/Viktor/Dummy-Local.TXT

Copia file tra le macchine remote

Come suggerisce la struttura di comando di SCP, è anche possibile copiare file tra i remoti server. Tutto quello che devi fare è descrivere di conseguenza l'origine e la destinazione.

Ad esempio, copiamo il file "Dummy.txt "da una macchina remota all'altra.

$ Scp -v [email protected]:/Home/Cloudsigma/Dummy.txt [email protected]:/Home/Cloudsigma/Copy fittizio.TXT

Copia più file

E se volessi copiare più file? A seconda della posizione della fonte, il comando potrebbe diventare piuttosto grande.

Nel seguente esempio, copia Dummy_1.txt, dummy_2.txt e dummy_3.txt alla macchina remota.

$ SCP Dummy_1.txt dummy_2.txt dummy_3.txt [email protected]:/Home/Cloudsigma

Se il nome file segue un determinato modello, possiamo descrivere il modello per scegliere i file di origine. In questo esempio, possiamo usare WildCard (*) per copiare tutti i file di testo.

$ SCP Dummy_*.txt [email protected]:/Home/Cloudsigma

Aumentare la velocità di trasferimento del file usando la compressione

Il comando SCP scambia il traffico tramite una rete. È la larghezza di banda della rete che alla fine determina la velocità di trasferimento dei file. Tuttavia, data una larghezza di banda fissa, è possibile aumentare la velocità di trasferimento del file effettiva utilizzando la compressione. Lo strumento SCP ha una tale funzionalità integrata.

La cosa unica è che i dati sono compressi solo nella rete. Quando il file arriva a destinazione, ritorna alla dimensione originale.

Per abilitare la compressione, utilizzare il flag "-c".

$ Scp -c Dummy_*.txt [email protected]:/home/cloudsigma/

Algoritmo di crittografia

Come accennato in precedenza, SCP crittografa il trasferimento dei dati per prevenire il furto di dati. Per impostazione predefinita, i dati vengono crittografati utilizzando la crittografia AES-128. È possibile utilizzare diversi cifri per la crittografia.

Per la cifra, SCP utilizza SSH. Il seguente comando SSH elencerà tutti i cifre supportate. Tutti sono validi anche per SCP.

$ ssh -q cifra

Ad esempio, il seguente comando SCP utilizzerà l'algoritmo AES256-CTR per la crittografia dei file.

$ SCP -C -C AES256 -CTR DUMMY_*.txt [email protected]:/home/cloudsigma/

Limitazione della larghezza di banda

Per impostazione predefinita, SCP utilizzerà la larghezza di banda massima disponibile per copiare i file. Tuttavia, può essere problematico in varie situazioni. Ad esempio, utilizzando uno script automatizzato per il backup.

Per limitare la larghezza di banda, utilizzare il flag "-l" seguito dal limite di larghezza di banda. Qui, il valore limite della larghezza di banda sarà in kilobit/sec (KBPS).

$ scp -c -l 800 manichino.txt [email protected]:/Home/Cloudsigma/Dummy-Remote.TXT

Specifica del porto

Simile a SSH, SCP utilizzerà la porta 22 per impostazione predefinita. Tuttavia, se SSH è configurato per operare su una porta diversa, allora deve essere dichiarato nel comando.

Per specificare la porta specifica, utilizzare il flag "-p" seguito dal numero di porta.

$ scp -c -p 1234 fittizio.txt [email protected]:/Home/Cloudsigma/Dummy-Remote.TXT

Copia della directory in modo ricorsivo

Simile al comando CP, per copiare una directory e tutte le sotto-directory/file al suo interno, utilizzare il flag "-r". Se la directory contiene molti file/cartelle, è consigliabile utilizzare la compressione per un trasferimento di dati più rapido.

Ecco una directory demo con file e directory fittizie.

$ Tree Dummy

Il comando seguente copierà questa directory nella posizione remota.

$ Scp -c -r Dummy/ [email protected]:/Home/Cloudsigma

Disabilitare il contatore di avanzamento e i messaggi di avvertimento

Il comportamento predefinito di SCP è segnalare i progressi dell'operazione e i messaggi di avvertimento/diagnostica sullo schermo. Tuttavia, è possibile disabilitare tutte queste informazioni di output. È utile se stai implementando SCP in uno script.

Per disabilitare la progressione e i messaggi di avvertimento/diagnostica, utilizzare il flag "-Q".

$ scp -c -q manichino.txt [email protected]:/Home/Cloudsigma/Dummy-Remote.TXT

Conclusione:

L'uso del comando SCP è molto semplice. Tutto ciò di cui hai bisogno è avere una comprensione e un'esperienza adeguate usando SSH. Questi sono solo alcuni dei metodi più basilari per usare SCP. Per ulteriori informazioni approfondite su SCP, dai un'occhiata alla pagina Man.

$ Man SCP

Felice calcolo!