Riferimento dei comandi SFTP

Tutti i comandi del client OpenSSH sftp con sintassi ed esempi: connessione, navigazione, trasferimenti, permessi e script in batch. Funziona in modo identico su Windows 10/11, macOS e Linux, che includono tutti il client OpenSSH.

Aggiornato a luglio 2026

Connettersi a un server

SFTP viaggia su SSH (per impostazione predefinita la porta 22), quindi autenticazione e verifica della chiave host funzionano esattamente come con ssh. Queste opzioni vanno sulla riga di comando prima che la sessione inizi:

Comando / opzioneCosa faEsempio
sftp user@hostAvvia una sessione SFTP interattiva.sftp alice@example.com
-P portaSi connette a una porta non standard (attenzione: P maiuscola, a differenza di ssh).sftp -P 2222 alice@example.com
-i filechiaveSi autentica con una chiave privata SSH specifica.sftp -i ~/.ssh/deploy_key alice@example.com
-b fileModalità batch: esegue i comandi di un file senza interazione.sftp -b upload.txt alice@example.com
-rRende get/put ricorsivi per l'intera sessione.sftp -r alice@example.com
sftp user@host:percorsoScarica un file direttamente ed esce (nessuna sessione interattiva).sftp alice@example.com:/logs/app.log

Se la connessione viene rifiutata o resta bloccata, verifica prima il server con il tester di connessione SFTP e controlla quali metodi di autenticazione accetta con il verificatore dei metodi di autenticazione SFTP.

Download e upload

ComandoCosa faEsempio
getScarica un file dal server.get report.pdf
get -rScarica una cartella e tutto il suo contenuto.get -r backups
putCarica un file locale sul server.put site.zip
put -rCarica una cartella in modo ricorsivo.put -r dist
mgetScarica più file che corrispondono a un modello.mget *.log
mputCarica più file che corrispondono a un modello.mput *.html
regetRiprende un download parzialmente completato.reget big-backup.tar
reputRiprende un upload parzialmente completato.reput big-backup.tar
progressMostra o nasconde l'indicatore di avanzamento del trasferimento.progress

Non esiste un interruttore ascii/binary: SFTP trasferisce sempre i file byte per byte, quindi nulla viene corrotto dalla conversione dei fine riga.

Modalità batch e scripting

Per trasferimenti non presidiati, metti i comandi in un file (uno per riga) ed esegui sftp in modalità batch. La modalità batch si interrompe al primo errore e richiede l'autenticazione a chiave: non può chiedere una password.

# upload.txt
cd /var/www/site
lcd C:\Projects\site\dist
put -r .
bye
C:\> sftp -b upload.txt -i C:\keys\deploy_key deploy@example.com

Funziona, ma ogni processo ricorrente significa mantenere uno script, una chiave e una voce nell'Utilità di pianificazione. Se preferisci definire in un'interfaccia «carica questa cartella ogni notte alle 2:00», con nuovi tentativi, notifiche e cronologia, è esattamente ciò che fanno i trasferimenti pianificati di FTPie.

Informazioni sui comandi SFTP

SFTP (SSH File Transfer Protocol) non è FTP su SSH: è un protocollo separato costruito sul livello di connessione di SSH, definito nella serie IETF draft-ietf-secsh-filexfer. Il comando sftp di Windows, macOS e Linux è l'implementazione client di OpenSSH, e questa pagina ne documenta il set di comandi. Poiché tutto viaggia dentro SSH, una sola porta aperta (la 22) trasporta autenticazione, comandi e dati cifrati: niente intervalli di porte per la modalità passiva né certificati TLS da configurare.

Arrivi dall'FTP classico? I set di comandi si sovrappongono ma differiscono su punti importanti: vedi il riferimento dei comandi FTP per ftp.exe e i comandi del protocollo RFC 959.

Domande frequenti

I comandi SFTP sono gli stessi dei comandi FTP?

No. SFTP è un protocollo diverso che viaggia su SSH, e il suo set di comandi è simile ma non identico. Comandi fondamentali come get, put, cd, ls e bye funzionano in entrambi, ma SFTP aggiunge comandi in stile Unix come chmod, ln e df, usa reget/reput per riprendere i trasferimenti e non ha una modalità ascii/binary: ogni trasferimento è binario. Comandi come mdelete, hash o literal dei client FTP classici in sftp non esistono.

Come si scarica o si carica un'intera cartella con SFTP?

Usa l'opzione -r (ricorsiva): get -r cartellaprogetto scarica un intero albero di cartelle e put -r cartellaprogetto ne carica uno. La cartella di destinazione non deve già contenere file in conflitto. Puoi anche avviare la sessione con sftp -r user@host per rendere i trasferimenti ricorsivi per impostazione predefinita.

Come si riprende un trasferimento SFTP interrotto?

Usa reget nomefile per riprendere un file scaricato solo in parte e reput nomefile per riprendere un caricamento. Il file parziale deve esistere ancora sul lato che riceve; sftp riparte da dove si era fermato invece di ricominciare da capo.

Windows ha un comando SFTP integrato?

Sì. Windows 10 (dalla 1809 in poi) e Windows 11 includono il client OpenSSH, quindi puoi eseguire sftp user@host direttamente dal Prompt dei comandi o da PowerShell, senza software aggiuntivo. Gli stessi comandi elencati in questa pagina funzionano in modo identico su Windows, macOS e Linux.

Come si automatizzano i trasferimenti SFTP?

Metti un comando per riga in un file di testo ed esegui sftp -b batch.txt user@host. La modalità batch richiede un'autenticazione non interattiva, il che in pratica significa configurare prima l'accesso con chiave SSH. Per i processi ricorrenti - caricamenti pianificati, backup, sincronizzazioni - un client con uno scheduler integrato ti evita di mantenere script e voci nell'Utilità di pianificazione.

Preferisci un client SFTP visuale?

FTPie è un moderno client SFTP per Windows con autenticazione a chiave SSH, verifica della chiave host, trasferimenti ricorsivi drag and drop e uno scheduler integrato: gratuito fino a 3 connessioni al server.

Scarica FTPie gratis