Guide / Guida

Trasferire file con SCP e SFTP: dal PC al server e ritorno

Caricare documenti, scaricare risultati e usare SFTP con esempi che distinguono percorsi locali e remoti.

Quando SSH funziona, puoi usarne la stessa autenticazione per trasferire file. SCP è comodo per una copia singola; SFTP offre una sessione con comandi per esplorare cartelle e caricare o scaricare. In questa guida il server è 192.168.1.50 e l’utente è mario: sostituiscili con i tuoi dati.

1. Parti dal terminale locale

Apri una nuova finestra sul PC e spostati nella cartella che contiene il file. Per una prima prova crea un piccolo prova.txt senza dati sensibili. Esegui i comandi SCP dal computer che possiede il file, non dal terminale già connesso al server. Nelle destinazioni, la parte prima dei due punti identifica il computer remoto; ciò che segue è il suo percorso.

2. Carica e scarica con SCP

Per inviare il file nella cartella home remota:

scp ./prova.txt mario@192.168.1.50:~/

Per scaricarlo dal server nella cartella locale corrente:

scp mario@192.168.1.50:~/prova.txt ./prova-scaricata.txt

Controlla il file scaricato aprendolo sul PC. Una copia con lo stesso nome può sovrascrivere un file esistente: per il primo tentativo usa un nome distinto. Per copiare una cartella usa -r, ad esempio scp -r ./documenti mario@192.168.1.50:~/. Non è una sincronizzazione incrementale di backup.

3. Specifica porta o chiave

In SCP la porta si indica con P maiuscola, diversamente da ssh:

scp -P 2222 ./prova.txt mario@192.168.1.50:~/

Per scegliere la chiave usa -i con il percorso della privata sul PC. Su PowerShell un percorso Windows può essere "$env:USERPROFILE\.ssh\id_ed25519". Mantieni le virgolette quando un percorso contiene spazi. I client OpenSSH recenti usano normalmente SFTP per il trasferimento di scp, quindi disponibilità e impostazioni del sottosistema SFTP possono incidere sulla copia.

4. Esplora con SFTP

Dal PC avvia:

sftp mario@192.168.1.50

Nella sessione SFTP puoi usare:

pwd
lpwd
ls
put prova.txt
get prova.txt prova-sftp.txt
bye

pwd mostra la cartella remota, lpwd quella locale. cd cambia cartella sul server e lcd sul PC. put carica, get scarica e bye chiude. Controllare entrambe le cartelle evita di cercare il file nel posto sbagliato.

Quando il trasferimento fallisce

No such file richiede di controllare il lato su cui manca il percorso. Permission denied può dipendere dall’accesso SSH o dalla cartella remota: prova la home dell’utente invece di una directory di sistema. Se la copia si interrompe, controlla dimensione e contenuto prima di usare il file. Per file grandi, ripresa e sincronizzazione ricorrente valuta strumenti dedicati; la semplice copia non sostituisce un backup verificato.

Documentazione ufficiale

Il prossimo passo

Controllare destinazione e risultato

Per la prima prova trasferisci un file piccolo e riconoscibile in una cartella del tuo utente remoto. Verifica nome e dimensione prima di inviare un’intera directory. Con SCP la parte prima dei due punti identifica utente e server; il percorso dopo i due punti è remoto. Con SFTP il comando pwd mostra la cartella remota e lpwd quella locale. Queste differenze evitano molti trasferimenti nel posto sbagliato. Se un file importante sembra troncato, confronta gli hash sui due computer. Per percorsi con spazi usa virgolette e controlla i permessi della destinazione prima di ripetere il trasferimento.