Generale

Come Usare il Comando SCP per Copiare e Trasferire File e Directory in Modo Sicuro

Generale·22 marzo 2026·33 min di lettura

Trasferire file tra host remoti puo essere difficile per i nuovi utenti VPS. Questo tutorial ti insegnera come usare il comando SCP per trasferire file e directory in modo sicuro.

SCP (Secure Copy Protocol) e un protocollo di trasferimento file basato su SSH che permette di copiare file in modo sicuro tra gli host della rete.

Poiche SCP usa SSH per trasferire i dati, offre lo stesso livello di sicurezza di SSH, inclusa autenticazione e crittografia.

Prerequisiti

Prima di iniziare, assicurati di avere:

- Accesso a due server remoti o un server remoto e un computer locale - Accesso SSH a entrambe le macchine - Privilegi utente root o sudo

Sintassi Base di SCP

La sintassi base del comando SCP e:

Trasferire un File Remoto su una Macchina Locale

Spostare un File in Modo Sicuro Tra Host Remoti

Come Utilizzare il Comando SCP Con Opzioni

Dove:

-

opzioni

sono i parametri opzionali del comando SCP.

-

utente_sorgente

```

scp [opciones] [nombre de usuario fuente@IP]:/[directorio y nombre de archivo] [nombre de usuario destino@IP]:/[directorio de destino]

```

e l'indirizzo IP dell'host sorgente.

-

percorso_sorgente

e il percorso del file o directory sorgente.

-

utente_destinazione

e il nome utente sull'host di destinazione.

-

```

scp [email protected]:/media/scp.png [email protected]:/escritorio/destino

```

percorso_destinazione

e il percorso di destinazione dove il file verra copiato.

```

scp scp.png [email protected]:/escritorio/destino

```

-P porta

: Specifica la porta SSH dell'host remoto.

-

-r

: Copia ricorsivamente un'intera directory.

-

-C

: Comprime i dati durante il trasferimento.

-

-q

: Sopprime la barra di avanzamento e i messaggi di output.

-

-i file_identita

: Specifica la chiave privata per l'autenticazione.

Esempi Pratici di SCPscp.zipPer copiare un file dal tuo computer locale a un server remoto:

```

scp /users/HolyHosting/desktop/scp.zip [email protected]:/escritura/articulo

```

2. Copiare un File dal Remoto al Locale

Per copiare un file da un server remoto al tuo computer locale:

Il comando SCP utilizza la porta SSH predefinita 22 per copiare i file in modo sicuro. Tuttavia, gli amministratori del server possono configurare un'altra porta di ascolto per evitare accessi non autorizzati. In questo caso, aggiungi l'opzione -P seguita dal numero di porta:

```

scp -P 2322 /users/HolyHosting/desktop/scp.zip [email protected]:/escritura/articulo

```

Per copiare un file da un server remoto a un altro:scp.zip a howtoscp.zip4. Copiare un'Intera Directory

```

scp /users/HolyHosting/desktop/scp.zip [email protected]:/escritura/articulo/howtoscp.zip

```

Ad

5. Copiare Usando una Porta Diversa

```

scp -r /users/HolyHosting/desktop [email protected]:/escritura/articulo

```

L'esempio sopra copiera il contenuto della cartella desktop nella directory remota /scrittura/articolo, incluse le sottocartelle. In alternativa, copia piu file utilizzando i loro nomi come mostrato di seguito:

```

scp file1.txt file2.txt file3.txt [email protected]:/escritura/articulo

```

Consiglio da Professionista

Per trovare il percorso completo di una directory, naviga fino alla directory appropriata e utilizza il comando pwd.

7. Copiare con una Chiave Privata

Se usi l'autenticazione basata su chiave:

Ad esempio, utilizza il seguente comando per scaricare il filescp.zipda un VPS remoto a una macchina locale:

```

scp [email protected]:/escritura/articulos/SCP.zip Users/HolyHosting/Desktop

```

Eseguendo questo comando, verra visualizzato l'output di login SSH, che richiedera la password dell'utente. Se disabiliti l'autenticazione utilizzando i privilegi sudo sul server remoto e abiliti l'autenticazione a chiave pubblica, il processo diventa automatico.

Spostare un File in Modo Sicuro Tra Host Remoti

Conclusione

SCP e uno strumento semplice e sicuro per trasferire file tra host tramite SSH. In questo tutorial, hai imparato la sintassi base e varie opzioni del comando SCP.

Per situazioni di trasferimento file piu complesse, considera l'uso di rsync o sftp, che offrono funzionalita aggiuntive.scp.zipda [email protected] a [email protected]:

```

scp [email protected]:/escritura/articulo/scp.zip [email protected]:/publicacion

```

Copiare file tra due server remoti richiede le password SSH di entrambi gli account.

Per impostazione predefinita, il comando SCP trasmette i dati direttamente dal primo computer remoto al secondo. Se desideri reindirizzare l'operazione attraverso il tuo sistema locale corrente, aggiungi l'opzione -3 come mostrato nel seguente comando:

```

scp -3 [email protected]:/escritura/articulo/scp.zip [email protected]:/publicacion

```

Usa questa opzione se riscontri un errore di rete durante il trasferimento. Questo accade di solito quando il sistema sorgente non riesce ad accedere al sistema di destinazione per copiare i dati a causa della mancanza di connessione diretta.

Reindirizzare il comando SCP verso l'host locale fa si che il server di destinazione riceva i file dal tuo computer invece che dal sistema sorgente. Tuttavia, questo processo richiedera piu tempo e omettera informazioni come la barra di avanzamento.

Come Utilizzare il Comando SCP Con Opzioni

Esistono diverse opzioni del comando SCP, che sono parametri per modificare il comportamento del trasferimento dati. Sono utili per utenti con conoscenze tecniche avanzate che desiderano copiare il file in un modo specifico secondo le proprie necessita.

Le opzioni possono presentarsi sotto forma di un singolo carattere (-o) e del suo equivalente descrittivo (--option). Entrambi funzionano in modo simile, ma alcune utilita di comandi potrebbero non fornire la versione abbreviata.

A differenza di altri comandi Linux, non puoi usare il parametro --help per visualizzare il manuale SCP e le opzioni accettabili. Invece, puoi farlo eseguendolo senza parametri:

```

scp

```

Un'opzione del comando SCP comunemente usata e -q, che indica al sistema di copiare il file in modalita silenziosa. Disattiva l'output della barra di avanzamento, gli avvisi e i messaggi diagnostici. Ecco un esempio di comando:

```

scp -q /users/HolyHosting/desktop/scp.zip [email protected]

```

Usa il parametro -v per abilitare l'output dettagliato. Mostra messaggi di debug dettagliati sul processo di copia per facilitare la risoluzione dei problemi. Ecco come appare il comando:

```

scp -v /users/HolyHosting/desktop/scp.zip [email protected]

```

Le opzioni -4 e -6 determinano la versione del protocollo internet utilizzata per la trasmissione dei dati: IPv4 o IPv6. Quando le usi, modifica gli indirizzi delle posizioni remote di conseguenza, come nell'esempio seguente:

```

scp -4 [email protected]:/users/HolyHosting/desktop/scp.zip

```

Usa l'opzione -p per preservare i dati del file sorgente, come la modalita, la modifica e i tempi di accesso. Nota che differisce dall'opzione in maiuscolo -P per cambiare la porta di trasferimento. Ecco la sintassi:

```

scp -p /users/HolyHosting/desktop/scp.zip [email protected]

```

Importante! Fai attenzione nell'utilizzare le opzioni del comando SCP, poiche fanno distinzione tra maiuscole e minuscole.

L'opzione -C comprime i file o le directory copiati durante il processo di trasferimento. Funziona con tutti i file eccetto i file compressi, come .zip e .rar. Ecco come appare il comando:

```

scp -C Carpeta [email protected]

```

Nel frattempo, l'opzione in minuscolo -c ti permette di specificare l'algoritmo di crittografia della macchina client. E impostato su AnyStdCipher per impostazione predefinita, ma puoi utilizzare altri valori come aes256-ctr, aes256-cbc e 3des-cbc.

Per verificare tutti i valori disponibili, consulta la sezione Ciphers nel manuale SSH_config. Ecco un esempio di comando SCP con cifratura 3des-cbc:

```

scp -c 3des-cbc /users/HolyHosting/desktop/scp.zip [email protected]

Si deseas copiar un archivo de una manera específica pero el comando SCP no tiene una opción adecuada, utiliza la opción -o. Te permite aplicar las opciones de SSH en el archivo de configuración a tu comando SCP.

Para usar la opción, agrega el par clave-valor de la configuración entre comillas, como se muestra en el siguiente ejemplo de sintaxis:

```

scp -o "opción=valor" /directorio/ruta/archivo

```

Cada opción -o solo toma un par como su valor. Si deseas pasar múltiples configuraciones SSH, agrega más opciones. Por ejemplo, el siguiente comando SCP se conectará al sistema de destino un máximo de dos veces y finalizará el intento después de cinco segundos:

```

scp -o "ConnectionAttempts=2" -o="ConnectTimeout=5" /users/scp.zip [email protected]

```

Esto no cambiará el archivo de configuración cuando pases las configuraciones SSH, ya que se aplicará solo a tu sesión actual de SCP. Para obtener más información sobre las claves completas y sus valores, consulta el manual SSH_config.

Descubre Otros Comandos de Linux para la Gestión de Servidores

- [Cómo Verificar el Espacio en Disco en Linux](#)

- [Cómo Transferir Datos con el Comando Curl](#)

- [Cómo Calcular la Ejecución de Procesos con el Comando Time](#)

- [Cómo Monitorear Cambios con el Comando Watch](#)

- [Cómo Apagar y Reiniciar el Servidor](#)

- [Cómo Transferir y Sincronizar Datos con Rsync](#)

- [Cómo Matar un Proceso en Linux](#)

- [El Comando Tee para una Escritura de Archivo Eficiente](#)

Conclusión

El comando SCP de Linux permite la copia segura de archivos entre sistemas a través de SSH cifrado, ofreciendo una alternativa más eficiente y segura a FTP. Su sintaxis involucra opciones, direcciones de sistemas, ubicación de archivos y ruta de destino, con la omisión de dirección y directorio para transferencias locales.

SCP no solo permite la transferencia de archivos entre sistemas locales y remotos, sino también entre dos sistemas remotos a través de una máquina local. Las opciones como -P y -

C personalizan el proceso de transferencia.

Los usuarios de HolyHosting pueden beneficiarse de un Asistente de Inteligencia Artificial para generar fácilmente comandos SCP y de una terminal del navegador para ejecutar comandos en servidores remotos a través de navegadores web.

Hai ancora domande?

Vieni a parlare con noi e ti risponderemo il prima possibile!

Contatta il supporto