WinSCP, uno strumento fondamentale per trasferimenti sicuri di file, offre più di una semplice interfaccia utente grafica. La funzionalità della riga di comando di WinSCP consente a professionisti IT e sysadmin di gestire e automatizzare trasferimenti di file direttamente dalla console, migliorando l’efficienza e la flessibilità nel loro flusso di lavoro.
Per apprendere dettagliatamente l’uso dell’interfaccia grafica di WinSCP, consulta il post complementare a questo, WinSCP GUI: La Guida Definitiva.
Scopri ogni caratteristica della riga di comando offerta da WinSCP in questa Guida Definitiva. Imparerai passo dopo passo come sfruttare la riga di comando di WinSCP per massimizzare la produttività e semplificare i processi di trasferimento file.
Immergiamoci nel mondo della gestione file da riga di comando con WinSCP!
Prerequisiti per l’utilizzo della riga di comando di WinSCP
- A Windows XP+ PC – This tutorial will use Windows 10 Enterprise.
- A remote Linux host – This tutorial will use an Ubuntu 18.04.5 LTS machine.
- A user account on the remote SSH host with sudo permissions.
Generare un URL di sessione con la riga di comando di WinSCP
Mentre l’interfaccia grafica di WinSCP offre una comoda finestra di Login per configurare le connessioni, la riga di comando di WinSCP richiede un approccio diverso. Invece delle finestre interattive, è necessario specificare gli attributi di connessione in modo più diretto.

Per istruire la riga di comando di WinSCP su dove connettersi, viene utilizzato un URL di sessione. Questo URL racchiude gli attributi di connessione definiti nell’interfaccia grafica.
A basic session URL follows this structure:
Ad esempio, per connettersi all’host 1.1.1.1
con nome utente adam
e password pw
tramite SFTP in WinSCP, l’URL di sessione sarebbe:
Se hai configurato un sito WinSCP, puoi trovare facilmente l’URL della sessione. Apri l’interfaccia grafica di WinSCP, clicca su Sessione, fai clic con il pulsante destro del mouse sul tuo sito e seleziona Genera URL/ Codice sessione.

La finestra di dialogo dell’URL della sessione fornisce varie opzioni di personalizzazione per la tua connessione, ognuna influenzando il modo in cui WinSCP interagisce con l’host remoto.
- Directory iniziale – Specifica la directory remota che WinSCP apre all’avvio della connessione.
- Chiave host SSH – Utilizza una chiave SSH esistente per l’autenticazione dell’host remoto.
- URL specifico di WinSCP – Genera un URL di sessione univoco, come
WinSCP-sftp://
, specificamente per la comprensione di WinSCP, evitando conflitti con i browser web predefiniti. - Estensione di salvataggio – Spesso abbinata agli URL specifici di WinSCP per ridurre ulteriormente i conflitti delle applicazioni.
Quando tutte le opzioni sono abilitate, il formato dell’URL della sessione dovrebbe assomigliare al seguente:

Mastering the WinSCP Command-Line: Generating Session Connection Code
Con il tuo URL della sessione pronto, WinSCP va oltre offrendo esempi di codice nella scheda Genera URL/ codice sessione della finestra. Script. Qui, puoi selezionare diversi tipi di script:
- File di script
- File batch
- Script della riga di comando
- Script di PowerShell
Scegli il tipo di script preferito e WinSCP genererà la sintassi necessaria per connettersi a un host remoto utilizzando la riga di comando di WinSCP.

Per programmare in .NET, C# o PowerShell, passa alla scheda codice di assembly .NET, come mostrato di seguito.

Comprendere WinSCP.exe vs WinSCP.com nel contesto della riga di comando di WinSCP
Sapere come generare un URL di sessione è cruciale per utilizzare gli strumenti della riga di comando di WinSCP. Esaminiamo come connettersi a un host utilizzando questi strumenti, partendo dalla comprensione delle differenze tra winscp.exe e winscp.com.
Winscp.exe funge da lanciatore GUI e da utility a riga di comando per compiti semplici. Puoi usarlo per comandi di base se specifichi i parametri corretti.
Pensa a winscp.exe come a un ponte tra le funzionalità GUI e l’interfaccia a riga di comando di WinSCP.
Per compiti più complessi, specialmente nello scripting, winscp.com è la tua scelta. Questo strumento basato su console è ideale per gli script di automazione e supporta una gamma di funzioni SSH. Fornisce un’esperienza vera e propria, non interattiva, della riga di comando di WinSCP.
Indipendentemente dalla tua scelta, inizia aprendo un prompt dei comandi (sia cmd.exe che PowerShell) e naviga nella directory di installazione di WinSCP.
Con il prompt dei comandi pronto, procediamo all’utilizzo di WinSCP per le connessioni remote.
Utilizzando WinSCP.exe: Connessione a host remoti con gli URL di sessione
Uno dei metodi più semplici per connettersi a un host remoto con la riga di comando di WinSCP è eseguire winscp.exe con l’URL di sessione come parametro. Ad esempio, per connettersi all’host 54.179.19.216
con nome utente automate
e password automate
utilizzando sftp
, e quindi navigare nella directory /tmp, utilizzare il seguente comando:
Per una maggiore sicurezza, invece di utilizzare una password, è possibile connettersi a un host remoto utilizzando una chiave privata con il parametro /privatekey
. Anche se questo metodo è più sicuro, le complessità della configurazione di una chiave privata vanno oltre lo scopo di questo tutorial sulla riga di comando di WinSCP.
Ecco un esempio di connessione all’host 54.179.19.216
utilizzando il nome utente automate
e una chiave privata mykey.ppk
tramite scp
.
Scaricando file efficientemente con WinSCP.exe senza un sito
La riga di comando di WinSCP tramite winscp.exe consente di trasferire rapidamente file utilizzando connessioni ad hoc, anche senza un sito WinSCP predefinito. Esploriamo il download di file da un host remoto senza una configurazione del sito. Ad esempio, scaricando tutti i file nella directory /tmp dell’host remoto 54.179.19.216 utilizzando SFTP.
1. Inizia generando un URL di sessione. Di seguito è riportato un esempio di connessione all’host remoto con le credenziali automate
e atterrando nella directory /tmp.
2. Esegui winscp.exe con l’URL di sessione per accedere alla casella di dialogo delle impostazioni di trasferimento di WinSCP. La directory locale predefinita è ~\Documenti, e WinSCP mirerà a tutti i file (\\*.*
) nella directory remota.
3. Fai clic su OK per avviare il trasferimento. WinSCP scaricherà tutti i file dalla directory remota /tmp nella directory locale scelta tramite SFTP.

Caricamento dei file utilizzando WinSCP.exe senza un sito
Dopo aver padroneggiato il download dei file, passiamo al caricamento dei file su un host remoto utilizzando la riga di comando di WinSCP con winscp.exe. Il processo è simile al download, ma questa volta dovrai anche utilizzare lo switch /upload
, specificando il file o la cartella che desideri caricare.
L’esecuzione del comando sopra porta alla visualizzazione della finestra di caricamento di WinSCP, indicando i file da caricare (*.*
) nella directory /tmp dell’host remoto.

Dopo aver caricato, accedi all’host remoto con un client SSH e verifica il successo del caricamento con comandi come pwd
e ls -lh
, che mostreranno i contenuti della directory, confermando il trasferimento riuscito.

Sfruttando WinSCP.exe per il Download di File Utilizzando un Sito
Se gli URL della sessione sono pratici per connessioni ad hoc, avere un sito WinSCP preconfigurato semplifica il processo. Se hai utilizzato WinSCP per un po’ di tempo, è probabile che tu abbia già configurato diversi siti.
Con winscp.exe, puoi facilmente utilizzare questi siti, creati nell’interfaccia grafica, per connetterti a un host remoto, evitando di dover ricordare i dettagli dell’URL della sessione.
Per individuare i siti salvati in WinSCP, vai su Sessione -> Siti -> Gestore Siti.
Ad esempio, esploriamo il download di file utilizzando un sito preesistente con la riga di comando di WinSCP.
1. Connettiti all’host remoto utilizzando un sito WinSCP configurato. L’esempio seguente mostra una connessione utilizzando un sito chiamato Adamsite
.
Una volta connesso, WinSCP mostra una notifica di stato.

2. Successivamente, esegui winscp.exe con il protocollo (sftp
), il nome del sito (Adamsite
) e la directory di destinazione (/tmp
). Questo approccio porta alla finestra di dialogo delle impostazioni di trasferimento di WinSCP, pronta per le azioni di download dei file.
Fare clic su OK per avviare il download di tutti i file dalla directory /tmp dell’host remoto nella directory locale tramite SFTP.

Per caricare i file dalla tua macchina locale a un host remoto, il processo è analogo. Utilizza lo switch
/upload
insieme al percorso del file o della directory, comewinscp.exe Site3 /upload .\license.txt
. La specifica dell’URL completo (sftp://Adamsite/tmp
) non è necessaria.
Ottimizzazione della modifica remota dei file con WinSCP.exe
Hai bisogno di modificare un file di testo su un host remoto? Salta il ciclo manuale di download-modifica-upload. La riga di comando di WinSCP offre un metodo più efficiente utilizzando il parametro /edit
. Basta specificare il nome del sito, /edit
, e il percorso del file remoto.
Esempio:
Eseguendo il comando sopra si avvia il tuo editor di testo predefinito, consentendoti di modificare il file remoto come necessario. Questa integrazione senza soluzione di continuità è una caratteristica chiave delle capacità della riga di comando di WinSCP.

Dopo la modifica, basta salvare il file. WinSCP si occupa di aggiornare il file sull’host remoto, semplificando il processo di modifica-upload.
Ottimizzazione del flusso di lavoro con la registrazione delle sessioni di WinSCP.exe
Per un registro completo delle tue azioni, il comando WinSCP linea di comando offre il logging della sessione. Questa funzionalità è preziosa per tracciare i comandi eseguiti durante una sessione, aiutando nella risoluzione dei problemi e nella registrazione.
Per abilitare il logging della sessione, includere fino a tre parametri durante la connessione a una sessione:
/log
– Specifica il percorso per il file di log./loglevel
– Imposta la verbosità dei log, che va da Ridotto (1
) a Debug (2
)./logsize
– Definisce la dimensione e la rotazione del file di log, nel formato<total archived logs>*<max log file size>
.
Di seguito è riportato un esempio di winscp.exe che si connette a un host e registra l’attività su C:\winscp.log
con un livello di Debug. Il comando mantiene fino a cinque file di log da 10MB (5*10MB
).
Esplorazione delle funzionalità avanzate con i comandi interattivi di WinSCP.com
Anche se winscp.exe offre una buona introduzione alle connessioni remote, winscp.com migliora la tua esperienza sulla riga di comando, offrendo un’interazione e un controllo più profondi.
Inizia aprendo winscp.com in un ambiente della riga di comando. Entrerai in una sessione interattiva simile a SSH, indicata dal prompt winscp>
.
Connettiti a un computer remoto usando il comando open
, seguito dal nome del sito desiderato.
Dopo esserti connesso all’host remoto tramite la riga di comando di WinSCP, come illustrato con Adamsite
, ti troverai in un ambiente simile a una sessione SSH. Qui puoi eseguire comandi e interagire con l’host remoto in modo efficiente.

Miglioramento della sicurezza: Connettiti con una nuova coppia di chiavi (Host Key) in WinSCP
L’autenticazione a chiave pubblica migliora la sicurezza durante la connessione alle sessioni. Per usarla, ottieni prima l’impronta digitale della chiave host per la tua sessione. Usa il comando ssh-keygen
nella cartella WinSCP seguendo la sintassi qui sotto.
Questo comando genera una coppia di chiavi SSH, essenziale per l’autenticazione sicura. Una volta eseguito, riceverai un’impronta necessaria per le connessioni delle sessioni winscp.com.

Per connettersi con il parametro hostkey
, fornisci l’impronta generata come mostrato nell’esempio qui sotto.
Includi il prefisso
ssh-rsa 2048
quando usi l’impronta dassh-keygen
.
Massimizzazione dell’efficienza con WinSCP.com: Utilizzo del parametro /command
Mentre le sessioni interattive sono ottime per determinati compiti, l’esecuzione di comandi non interattivi è fondamentale per lo scripting e l’automazione. winscp.com supporta ciò tramite il parametro /command
, consentendo di stabilire una sessione, eseguire un comando e disconnettersi in un unico passaggio.
Ad esempio, utilizza il parametro /command
per trasferire un file locale su un host remoto. L’esempio qui di seguito illustra come copiare un file da C:\abc\abc.txt nella directory /tmp dell’host remoto 13.213.61.127
.
Il parametro /command
richiede due argomenti come stringhe: uno per stabilire la sessione e un altro per l’esecuzione effettiva del comando.
Automazione delle attività con WinSCP.com: il parametro /script
Per esigenze di automazione più complesse, il parametro /script
in winscp.com consente di eseguire una serie di comandi da uno script. Questa funzionalità è preziosa quando si gestiscono attività ripetitive o operazioni complesse su host remoti.
Per utilizzare il parametro /script
nella riga di comando WinSCP, inizia creando un file di script chiamato upload_file_script.txt sul desktop con il tuo editor di testo preferito.
Prepara un file di testo vuoto chiamato a.txt nella directory /tmp del tuo computer remoto.
Crea una directory locale in C:\abc.
Successivo, inserisci i seguenti contenuti nel file upload_file_script.txt e salvatelo. Questo script scarica il file a.txt dalla directory remota /tmp e lo ricarica come new_file.txt.
Esegui questo script utilizzando il parametro /script
in WinSCP con il seguente comando:
Utilizza lo switch
/ini=nul
per evitare a WinSCP di salvare qualsiasi configurazione di sessione all’uscita.
Utilizzo di WinSCP.com per la conversione delle chiavi
WinSCP supporta l’autenticazione basata su password e certificato o autenticazione basata su chiave pubblica. Per utilizzare l’autenticazione basata su chiave pubblica, è necessario un formato di chiave privata compatibile. WinSCP aiuta nella conversione dei formati chiave per la compatibilità.
Per esempio, converti una chiave privata in formato PEM (come quelle da AWS EC2) in un formato compatibile con Putty utilizzando il comando della riga di comando di WinSCP. Il parametro /keygen
in winscp.com facilita questa conversione.
- Applica il parametro
/keygen
, seguito dal percorso attuale della chiave. - Includi il parametro
-o
per specificare il percorso del file di output della chiave convertita. - Opzionalmente, utilizza il parametro
-c
per aggiungere un commento alla chiave convertita.
Conclusione
Con questa guida completa alla linea di comando di WinSCP, insieme alla Guida GUI di WinSCP, sei ora pronto per sfruttare appieno le capacità di WinSCP. Che si tratti di trasferimenti di file, esecuzione di comandi, esecuzione di script o conversione di chiavi, WinSCP è uno strumento versatile per ogni professionista IT.
Come pensi di integrare WinSCP nel tuo flusso di lavoro? Condividi i tuoi pensieri e le tue esperienze!