SCP o Secure Copy Protocol è un protocollo SSH-based che permette lo scambio di file tra dispositivi remoti.
Usando SCP possiamo inviare o ricevere file da o verso un dispositivo locale o tra dispositivi remoti.
Attualmente SCP è considerato deprecato ed è stato rimpiazzato da SFTP e RSYNC.
Copiare o scaricare un file da remoto a locale con SCP
La sintassi di scp
è piuttosto semplice. Basta invocare scp seguito dallo username remoto, dalla @, dall’indirizzo IP dell’host, i due punti ed il path del file. Nel caso non venga specificato il default path è la cartella home dell’utente remoto. A seguire viene il percorso locale dove il file verrà localmente salvato.
Il comando scp
è stato ideato per essere il più vicino possibile al comando cp
. La destinazione della copia del file viene infatti indicata alla fine del comando.
Un semplice esempio di comando scp per copiare un file remoto sul dispositivo locale è il seguente:
scp [Username]@[IPorHost]:[PathToFile] [LocalFileLocation]
In un esempio concreto, dove copiamo il file denominato file.raw dall’host remoto 192.168.1.80 al computer locale avremmo:
scp alessandro@192.168.1.80:/home/alessandro/file.raw /home
Nel caso in cui ssh non utilizzi la porta standard 22 possiamo specificare una porta differente mediante il parametro -P
seguito dal numero della porta. L’esempio utilizzando la porta 2022 diventerebbe quindi:
scp -P 2022 alessandro@192.168.1.80:/home/alessandro/file.raw /home
Copiare o scaricare una directory da remoto a locale con SCP
Per scaricare o copiare intere directory utilizzando il comando scp è necessario utilizzare il parametro -r (recursively).
Ad eccezione del parametro -r utilizzato nell’esempio seguente, la sintassi del comando resta invariata rispetto a quella utilizzata per scaricare un singolo file.
scp -r alessandro@192.168.1.80:/home/alessandro/folder1 /home