Tutti gli articoli

file

Come caricare file su una VPS: scp, sftp e rsync

Una guida in parole semplici per scegliere tra scp, sftp e rsync quando sposti file dal tuo computer al tuo server.

  • file
  • ssh
  • deploy
I file vengono trasferiti da un computer locale a un VPS usando scp, sftp e rsync.

Devi semplicemente trasferire dei file dal portatile al server e ti ritrovi a scegliere tra tre strumenti differenti che sembrano svolgere la medesima funzione.

Versione breve: per caricare file sul tuo server, usa scp per trasferimenti rapidi e occasionali, sftp quando desideri una sessione interattiva per esplorare le cartelle, e rsync per sincronizzare directory o gestire caricamenti ricorrenti. Tutti e tre i comandi si avvalgono del protocollo SSH (Secure Shell), garantendo una connessione cifrata verso il server. La scelta dello strumento ideale dipende dalla necessità del momento: spostare un singolo file, consultare la struttura delle cartelle o mantenere allineati due ambienti.

Quale metodo di trasferimento file dovresti usare?

Puoi immaginare il server come un archivio protetto da una porta blindata: SSH rappresenta la chiave d'accesso, mentre scp, sftp e rsync costituiscono tre modalità differenti per trasportare i documenti al suo interno.

StrumentoIdeale perImmagine sempliceAttenzione principale
scpUn singolo file o una piccola cartellaLa consegna di un pacco sigillatoRischio di copiare nel percorso remoto errato
sftpEsplorare le cartelle e spostare file manualmenteLa consultazione diretta di un archivio remotoMeno efficiente per caricamenti di grandi dimensioni
rsyncSincronizzazioni periodiche e cartelle articolateUn sistema di trasporto che aggiorna solo i file modificatiSintassi precisa, in particolare nell'uso dello slash finale

Per caricare un singolo file di configurazione, un’immagine o un archivio compresso, scp è la soluzione più immediata. Se vuoi verificare la struttura delle cartelle remote prima di posizionare i dati, sftp offre maggiore visibilità. Se invece aggiorni frequentemente lo stesso progetto, rsync rappresenta la scelta più efficiente poiché evita di ritrasferire i dati non modificati.

Come funzionano scp, sftp e rsync?

scp (Secure Copy) effettua la copia diretta di file e cartelle sfruttando la cifratura SSH. La sintassi richiede l'indicazione del file locale, seguita dalle credenziali del server e dal percorso di destinazione: scp ./site.zip user@server:/var/www/example/. È un comando lineare ed essenziale per trasferire un elemento da un punto all'altro.

sftp (SSH File Transfer Protocol) avvia una sessione di lavoro interattiva sul server remoto. Attraverso comandi dedicati come ls, cd, put e get, permette di navigare le directory e gestire i file in tempo reale, offrendo un controllo diretto sulla struttura di destinazione.

rsync è uno strumento avanzato di sincronizzazione. Confronta il contenuto dell'ambiente locale con quello remoto e trasferisce esclusivamente le differenze riscontrate, risultando ideale per distribuire codice sorgente, cartelle multimediali e aggiornamenti frequenti. Un aspetto da considerare riguarda l'uso dello slash finale nei percorsi: indicare app/ trasferisce il contenuto della directory, mentre indicare app copia l'intera cartella.

Per la gestione di un'applicazione web, il trasferimento dei file rappresenta una componente di un processo di distribuzione più ampio. Per approfondire l'argomento, puoi consultare la nostra guida su come pubblicare una piccola web app senza DevOps.

Cosa va storto quando i caricamenti falliscono?

Gli errori durante il trasferimento dei file sono generalmente riconducibili a tre fattori: autenticazione, percorsi di destinazione e permessi di sistema.

Il messaggio Permission denied (publickey) indica che il server non ha convalidato la chiave SSH fornita. L'origine del problema riguarda solitamente credenziali errate, una chiave SSH non autorizzata o una configurazione incompleta dell'utente sul server.

L'errore Permission denied visualizzato dopo l'avvio del trasferimento segnala la mancanza dei permessi necessari per scrivere nella directory indicata. Si verifica frequentemente quando si tenta di salvare file in cartelle di sistema o in directory di proprietà di un altro utente.

L'avviso No such file or directory evidenzia che il percorso remoto indicato non esiste o è stato digitato in modo errato. I percorsi sul server sono assoluti e precisi: ad esempio, /var/www/app e /var/www/apps identificano due directory distinte.

Se viene restituito l'errore Connection refused, il sistema non risponde sulla porta SSH specificata. Ciò può dipendere dal servizio SSH non attivo, da una porta di ascolto personalizzata o dal blocco delle connessioni da parte del firewall. Se l'applicazione smette di rispondere a seguito del caricamento, ti consigliamo di analizzare i file di registro facendo riferimento alla guida su come leggere i log del server quando qualcosa si rompe.

Un'altra possibile causa di errore è l'esaurimento dello spazio su disco, che può interrompere i trasferimenti generandone il fallimento o lasciando file incompleti. In concomitanza con le operazioni di deployment, è sempre fondamentale definire una corretta strategia di conservazione dei dati; per i dettagli sul ripristino, consulta la guida su come fare il backup del server e ripristinarlo davvero.

FAQ

**scp è un metodo di trasferimento sicuro?** Sì. scp opera tramite il protocollo cifrato SSH. L'attenzione principale va posta nell'indicare correttamente il percorso di destinazione per non sovrascrivere dati esistenti.

**sftp e FTP sono la stessa cosa?** No. sftp utilizza il protocollo sicuro SSH. Il protocollo FTP tradizionale è privo di cifratura nativa e richiede configurazioni aggiuntive per garantire la sicurezza del canale.

**Per quale motivo è preferibile utilizzare rsync?** rsync analizza le differenze tra i file e trasferisce solo le modifiche effettive. Questo ottimizza i tempi di trasmissione e riduce il consumo di banda sul server.

È possibile trasferire un intero sito web con questi strumenti? Sì, prestando attenzione ai permessi di scrittura, alla correttezza dei percorsi e alla pulizia dei file obsoleti per evitare accumuli inutili sul server.

La scorciatoia

Server Manager semplifica l'organizzazione delle risorse assegnando ad ogni progetto una struttura chiara e definita, evitando la necessità di memorizzare complessi percorsi remoti. Questo approccio riduce il rischio di trasferire file nelle directory errate o di creare sovrapposizioni tra applicazioni diverse.

L'infrastruttura si mantiene ordinata e documentata nel tempo: ad ogni consultazione successiva sarà sempre chiaro quali elementi appartengono a ciascun progetto, quali domini sono associati e quali configurazioni sono attive, evitando incertezze durante le fasi di manutenzione.

Cosa ti dà un processo di caricamento pulito?

Una gestione corretta dei trasferimenti richiede tre elementi fondamentali: la scelta dello strumento idoneo, la definizione precisa dei percorsi di destinazione e la conoscenza delle dipendenze del sistema.

Utilizza scp per operazioni sintetiche, sftp per l'esplorazione diretta dell'ambiente remoto e rsync per la sincronizzazione dei progetti. Definire queste procedure trasforma l'invio dei file in un'attività ordinata e ampiamente controllabile.