Ci sono momenti in cui si desidera trasferire file tra il sistema locale e un server remoto. Sono disponibili diversi protocolli e metodi che consentono di gestire le trasmissioni di file in modo sicuro.

Il comando scp in Linux è uno di questi strumenti che aiuta un utente a condividere file in remoto tra host locali e remoti. In questo articolo, discuteremo in dettaglio il comando scp, insieme al suo utilizzo e ad alcune funzionalità aggiuntive del comando.

Cos'è il comando Scp

Scp, acronimo di Copia protetta, è un'utilità della riga di comando nei sistemi operativi basati su Linux che consente a un utente di copiare file tra host remoti e locali. Poiché il comando trasferisce i file su una rete a un altro host, è richiesto l'accesso SSH. SSH (Secure Shell) è un protocollo che consente di gestire i servizi di rete in modo sicuro su qualsiasi rete.

Il comando scp supporta anche alcune funzionalità aggiuntive come la specifica dei parametri di autenticazione, la modifica della porta, il trasferimento di directory e altro.

instagram viewer

Perché Scp è migliore di altri metodi

Scp è generalmente preferito rispetto ad altri metodi di trasferimento di file perché, durante il trasferimento, la connessione tra i due host è crittografata. Il protocollo SSH è responsabile della crittografia di file, password e altri dettagli sensibili.

Altri metodi di trasferimento come Telnet o FTP non hanno alcuna crittografia. Inoltre, anche la coppia di chiavi utente / password viene salvata in testo normale, il che non è affatto una buona pratica. Un cracker può accedere facilmente alle tue informazioni annusando la tua rete.

Come trasferire in modo sicuro i file utilizzando Scp

Utilizzando il comando scp, puoi trasferire file tra:

  1. Un host locale e un host remoto
  2. Un host remoto e un sistema locale
  3. Due host remoti

Sintassi di base

La sintassi di base del comando scp è:

scp [opzioni] [origine] [destinazione]

Trasferimento da host locale a un sistema remoto

Se sei un amministratore di server, il trasferimento di file tra un host locale e host remoti potrebbe esserti utile. Per caricare un file denominato document.txt a un host remoto:

scp /home/document.txt utente @ host-remoto: /home/document.txt

Nota che l'origine è il percorso del file nella memoria locale. E la destinazione è il percorso del file sull'host remoto. È necessario specificare anche il nome utente e il nome di dominio del server remoto. Nel comando precedente, utente è il nome utente e Host remoto è il nome del dominio.

Il percorso di destinazione viene separato dai dettagli dell'host remoto utilizzando l'estensione colon personaggio (:). Tieni presente che l'utente deve esistere sul server remoto se desideri trasferire i file con successo. Inoltre, l'utente dovrebbe avere accesso in scrittura alla directory in cui si desidera salvare il file.

Dopo aver emesso il comando suddetto, il sistema chiederà la password dell'utente remoto. Digita la password e premi accedere.

password utente @ host remoto:

Se la password è valida, il trasferimento del file verrà inizializzato. Se hai inserito una password errata, si verificherà un errore.

Prima di provare a copiare il file utilizzando il comando scp, assicurarsi che i dettagli dell'host remoto e la password siano corretti accedendo al server tramite SSH.

Da un host remoto a un host locale

Per copiare file da un host remoto a un host locale, è sufficiente scambiare il percorso di origine e di destinazione nel comando scp.

utente scp @ host-remoto: /home/document.txt /home/document.txt

Il sistema chiederà nuovamente la password dell'utente remoto. Immettere la password per confermare il processo di trasferimento.

Tra due host remoti

Per copiare file tra due server remoti, sia il percorso di origine che quello di destinazione devono essere directory sugli host remoti.

scp utente1 @ remote-host1: /home/document.txt utente2 @ remote-host2: /home/folder/document.txt

Anche in questo caso, verrà visualizzato un messaggio che richiede di inserire la password per ciascuno dei due utenti.

Opzioni della riga di comando Scp

Oltre a trasferire semplicemente i file dall'origine alla destinazione, scp ha alcune opzioni aggiuntive che possono essere invocate utilizzando argomenti specifici.

Cambia la porta

Per impostazione predefinita, il comando scp funziona sulla porta 22. Tuttavia, puoi sempre sovrascrivere la configurazione predefinita e modificare la porta. Il -P flag ti permette di fare lo stesso.

Per utilizzare un altro numero di porta durante la copia dei file da un host locale a un host remoto:

scp -P 35 /home/document.txt utente @ host-remoto: /home/document.txt

Il comando di cui sopra garantirà che il comando scp utilizzi la porta 35 per il trasferimento dei file.

Conserva timestamp file

Potresti saperlo Linux imposta i timestamp per ogni file per memorizzare l'ora di modifica, l'ora di accesso e l'ora di modifica associata al file. Quando si trasferisce il file in un'altra posizione utilizzando scp, i timestamp del file di destinazione vengono sovrascritti dall'ora corrente.

Se per qualsiasi motivo desideri conservare questi timestamp, utilizza il file -p bandiera. Notare che -P e -p le bandiere sono diverse l'una dall'altra.

scp -p /home/document.txt utente @ host-remoto: /home/remote/document.txt

Copia directory

Se vuoi copiare directory invece di file, usa l'estensione -r flag per trasferire le directory in modo ricorsivo.

scp -r utente @ host-remoto: / home / videos / home / videos

Modalità soppressa

Quando si immette il comando scp per trasferire i file, il terminale visualizza la barra di avanzamento e altre informazioni correlate sullo schermo. Tuttavia, puoi scegliere di non visualizzare queste informazioni utilizzando il file -q bandiera.

scp -q utente @ host-remoto: /home/document.txt /home/document.txt

Utilizza un file di coppia di chiavi per l'autenticazione

Se si desidera autenticare la connessione host remoto utilizzando un file di coppia di chiavi, specificare il percorso del file utilizzando l'estensione -io bandiera.

scp -i /home/keypair.pem /home/document.txt utente @ host-remoto: /home/document.txt

Concatenare più flag insieme

Proprio come qualsiasi altro comando Linux, puoi concatenare più argomenti insieme per rendere il comando scp più efficace.

Ad esempio, per modificare la porta e trasferire i file in modalità soppressa:

scp -P 34 -q utente @ host-remoto: /home/document.txt home / document.txt

Se desideri utilizzare un file di coppia di chiavi per l'autenticazione e devi copiare le directory nel percorso di destinazione:

scp -i /home/secret/keypair.pem -r / home / cartella utente @ host-remoto: / home / cartella

Trasferimento di file tra sistemi Linux

Nel mondo di Internet, il trasferimento di file tra i sistemi è diventato un compito essenziale. Per coloro che amministrano server Linux, a volte è importante fare un backup del server prima di emettere un comando specifico. In situazioni come questa, il comando scp torna utile.

Allo stesso modo, il comando cp aiuta a copiare i file da una posizione all'altra in un sistema locale. Ci sono molti comandi di base che sono indispensabili se stai appena iniziando con Linux.

E-mail
Cheat Sheet di riferimento dei comandi di Linux

Questo semplice cheat sheet ti aiuterà a metterti a tuo agio con il terminale della riga di comando di Linux in pochissimo tempo.

Leggi Avanti

Argomenti correlati
  • Linux
  • Gestione dei file
  • Linux
  • SSH
Circa l'autore
Deepesh Sharma (33 articoli pubblicati)

Deepesh è il Junior Editor per Linux presso MUO. Scrive contenuti informativi su Internet da oltre 3 anni. Nel tempo libero ama scrivere, ascoltare musica e suonare la chitarra.

Altro da Deepesh Sharma

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Ancora un passo…!

Conferma il tuo indirizzo e-mail nell'e-mail che ti abbiamo appena inviato.

.