Come connettersi a un VPS Linux tramite SSH con una chiave PuTTY
PuTTY è un client SSH gratuito per Windows. Questo tutorial illustra come connettersi a un VPS Linux da un computer Windows tramite autenticazione con chiave SSH anziché con password, dal download di PuTTY fino al primo accesso riuscito. Sono necessari l'indirizzo del server, un account SSH su di esso e una coppia di chiavi SSH.
Livello: Principiante
Tempo stimato: circa 20 minuti
Obiettivo finale: al termine di questo tutorial accederai al tuo VPS Linux da Windows tramite PuTTY e una chiave SSH, senza digitare la password dell'account.
Cosa fanno SSH e PuTTY
Secure Shell (SSH) è un protocollo di rete per lavorare su una macchina remota attraverso una rete non affidabile. Cifra l'intera sessione, identifica il server prima di inviargli qualsiasi cosa e accetta come prova d'identità una password oppure una chiave. Su un VPS Linux, il lato server di SSH è normalmente il demone OpenSSH, in ascolto sulla porta TCP 22.
PuTTY è un client SSH gratuito per Windows, nonché la finestra di terminale in cui si lavora una volta stabilita la connessione. La versione attuale è la 0.84. Un dettaglio evita confusione più avanti: l'installer per Windows include già PuTTYgen, l'utility per generare e convertire le chiavi usata in questo tutorial, quindi PuTTYgen non va mai scaricato separatamente. Lo stesso pacchetto installa anche gli strumenti di trasferimento file PSCP e PSFTP, il front-end di scripting Plink e l'agente di autenticazione Pageant.
Cosa serve prima di connettersi
Raccogli quanto segue prima di iniziare:
- L'indirizzo IP pubblico del server, indicato di seguito come <YOUR_SERVER_IP>
- Il nome dell'account SSH sul server, indicato di seguito come <YOUR_USERNAME>
- La porta SSH, che è 22 salvo che il tuo provider o la tua configurazione ne usino un'altra
- Il file della chiave privata sul computer Windows, in formato PuTTY (.ppk) oppure in formato OpenSSH
- PuTTY 0.84 su Windows 10, Windows 11, Windows Server 2022 o Windows Server 2025. L'installazione è trattata nella sezione successiva
- Un VPS Linux con server OpenSSH in esecuzione e raggiungibile in rete. I comandi lato server riportati di seguito si applicano a Ubuntu 24.04 LTS e 26.04 LTS, Debian 12 e 13, AlmaLinux 9 e 10, e ad altre distribuzioni che usano OpenSSH
- Se la chiave pubblica non è ancora sul server, un modo funzionante per accedere: una sessione con password, un'altra chiave o la console del pannello del provider
- Circa 20 minuti e nessuna conoscenza oltre all'uso di base di una shell Linux
Una coppia di chiavi ha due metà con compiti diversi. La chiave privata resta sul computer Windows e produce la prova dell'identità. La chiave pubblica risiede sul server, all'interno dell'account a cui si accede, e permette al server di verificare tale prova.
Non caricare, inviare via email o incollare mai la chiave privata sul server o su qualsiasi altra macchina. Solo la chiave pubblica lascia il computer. Un file di chiave privata giunto in un luogo non controllato dall'utente è considerato compromesso, e la risposta corretta è sostituire la coppia.
Installazione di PuTTY
Scarica PuTTY solo dal progetto stesso. putty.software è il dominio ufficiale breve del progetto e reindirizza alle pagine di download dell'autore su chiark.greenend.org.uk.
putty.org e puttygen.com non sono siti del progetto e non sono gestiti dal team PuTTY. Nulla garantisce che i file distribuiti da quegli indirizzi siano il software rilasciato dagli autori.
Scegli l'installer MSI per Windows corrispondente alla tua architettura. La build x86 a 64 bit, putty-64bit-0.84-installer.msi, è adatta a quasi tutti i computer attuali. La build x86 a 32 bit esiste per hardware e versioni Windows datati, e una build Arm64 separata copre i dispositivi Windows con processori Arm.

Esegui il file .msi scaricato. Fai clic su Next nella pagina di benvenuto, mantieni la cartella di destinazione e l'insieme di funzionalità predefiniti, quindi fai clic su Install. Approva la richiesta di amministratore di Windows se compare, poi chiudi la procedura guidata con Finish.
Il menu Start contiene ora le voci PuTTY e PuTTYgen, e le utility elencate in precedenza vengono installate insieme a esse.
Il progetto pubblica gli installer attuali anche nel Microsoft Store, di solito qualche giorno dopo una release. Entrambe le fonti forniscono la stessa build.
Verificare o convertire la chiave SSH
PuTTY legge le chiavi private nel proprio formato, il file .ppk. Il passo successivo dipende da ciò che si possiede già.
Se si dispone già di un file .ppk
Non c'è nulla da convertire. Annota la posizione del file su disco e prosegui con la configurazione di PuTTY più sotto.
Se la chiave è in formato OpenSSH
Le chiavi generate da ssh-keygen hanno nomi come id_rsa o id_ed25519, di solito senza estensione, e PuTTY non le legge direttamente. Converti una chiave del genere una sola volta e usa poi il risultato.
Avvia PuTTYgen e fai clic su Load. La finestra di selezione file si apre con il filtro impostato sui file di chiave privata PuTTY, che nasconde qualsiasi file non terminante in .ppk: imposta quindi il filtro su All Files prima di cercare la chiave. Seleziona il file di chiave privata e inserisci la relativa passphrase, se presente. PuTTYgen segnala che la chiave non è nel proprio formato nativo e la carica comunque. Fai clic su Save private key, assegna un nome al file e mantieni l'estensione .ppk. La passphrase viene mantenuta invariata a meno che tu non ne digiti deliberatamente una nuova.
Il menu Conversions offre la stessa operazione come comando esplicito Import key. Entrambi i percorsi producono lo stesso file .ppk.
Se non si dispone ancora di una chiave
Genera una coppia in PuTTYgen. Lascia il tipo di chiave su RSA con 2048 bit o più, oppure seleziona EdDSA con 255 bit per una chiave Ed25519, quindi premi Generate. Muovi il puntatore del mouse sull'area vuota della finestra finché la barra di avanzamento non si riempie, perché PuTTYgen raccoglie casualità da quel movimento. Non appena la chiave compare, digita una passphrase in Key passphrase, ripetila in Confirm passphrase e salva entrambe le metà con Save public key e Save private key.

PuTTY funziona con chiavi RSA ed Ed25519, oltre che con ECDSA e DSA. Gli screenshot di questo tutorial mostrano una chiave RSA. Per una nuova coppia su sistemi attuali, Ed25519 è una buona scelta predefinita.
Aggiungere la chiave pubblica al server
Salta questa sezione se il provider ha già inserito la chiave nell'account, oppure se la coppia è stata creata appositamente per questo server. In caso contrario è necessario un modo funzionante per accedere: una sessione con password, un'altra chiave o la console del provider.
Apri una sessione con l'account che userà la chiave e prepara la directory:
mkdir -p ~/.ssh chmod 700 ~/.ssh touch ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys chown -R <YOUR_USERNAME>:<YOUR_USERNAME> ~/.ssh
I comandi creano ~/.ssh e un authorized_keys vuoto se manca uno dei due, quindi impostano la proprietà e i permessi richiesti da OpenSSH. Per un account normale come admin o ubuntu, il percorso completo è /home/
Apri il file per la modifica:
nano ~/.ssh/authorized_keys
Passa alla finestra di PuTTYgen, seleziona tutto il contenuto del campo etichettato Public key for pasting into OpenSSH authorized_keys file e copialo. Nel terminale, incollalo come ultima riga del file. Un clic destro incolla gli appunti in una finestra PuTTY. Salva il file e chiudi l'editor.

La chiave pubblica occupa esattamente una riga, da ssh-rsa o ssh-ed25519 fino alla fine del commento della chiave. Non dividerla, non lasciare che l'editor la vada a capo automaticamente e non aggiungere testo di commento personale su quella riga. Una chiave spezzata su più righe, o seguita da caratteri estranei, viene rifiutata, e il server non riporta nulla di più informativo di una chiave respinta.
Il file ora contiene una riga per ogni chiave autorizzata, e le righe già presenti restano invariate.
Configurare PuTTY
Avvia PuTTY. Si apre per prima cosa il pannello Session. Digita l'indirizzo del server in Host Name (or IP address), imposta Port su 22 oppure sulla porta su cui è in ascolto il tuo server, e lascia Connection type su SSH.

Ora indica a PuTTY la chiave privata. Nell'albero a sinistra apri Connection, poi SSH, poi Auth, poi Credentials, e usa Browse accanto a Private key file for authentication per selezionare il tuo file .ppk. Questo albero varia leggermente tra le versioni di PuTTY, e le release più vecchie mantengono il campo direttamente nel pannello Auth, quindi orientati in base al nome del campo piuttosto che al percorso esatto.
Salvare la sessione ripaga i pochi secondi in più. Torna su Session, digita un nome in Saved Sessions e fai clic su Save. Il nome compare nell'elenco, e selezionarlo e fare clic su Load ripristina l'indirizzo, la porta e il percorso della chiave.
Connettersi e accedere
Fai clic su Open. Alla prima connessione a un server non ancora conosciuto da PuTTY, il programma si ferma e presenta la chiave host di quel server:
The host key is not cached for this server: <YOUR_SERVER_IP> (port 22) The server's ssh-ed25519 key fingerprint is: ssh-ed25519 255 SHA256:<FINGERPRINT_STRING>

Confronta l'impronta digitale con quella pubblicata dal tuo provider per il server. More info... mostra la chiave pubblica completa, se ciò facilita il confronto. Quando l'impronta corrisponde, fai clic su Accept: PuTTY memorizza la chiave in cache, la connessione prosegue e la domanda non ricompare per quell'host. Connect Once si connette senza memorizzare nulla in cache. Cancel annulla la connessione, la scelta corretta quando l'impronta non corrisponde a ciò che ci si aspetta.
Un avviso sulla chiave host in una connessione successiva allo stesso server, con la formulazione più severa relativa a una possibile violazione della sicurezza, significa che il server ha presentato una chiave diversa da quella precedente. Un server ricostruito fa ciò legittimamente. Lo stesso fa un aggressore che ha reindirizzato la connessione. Stabilisci quale dei due casi si applica prima di digitare qualsiasi cosa nella finestra.
Una volta risolta la chiave host, il terminale mostra il prompt di accesso:
login as:
Digita il nome dell'account e premi Invio. PuTTY userà quindi la chiave configurata. Se la chiave ha una passphrase, PuTTY la richiede nella stessa finestra, e i caratteri restano nascosti durante la digitazione.
A questo punto è facile confondere tre elementi:
- Il nome dell'account identifica l'utente sul server, root oppure un account normale come admin.
- La passphrase della chiave decifra il file di chiave privata sul proprio computer, e il server non la vede mai.
- La password dell'account appartiene all'account sul server. Con l'autenticazione a chiave funzionante, non è necessaria per accedere.
Confermare che l'autenticazione a chiave funziona
L'assenza della richiesta di password è la conferma. Se la sessione si apre dopo la passphrase della chiave, o senza alcuna richiesta, il server ha accettato la chiave. Due comandi indicano chiaramente il risultato:
whoami hostname
Output atteso:
admin vps-01
La prima riga indica l'account con cui viene eseguita la sessione, e deve corrispondere all'account nel cui file authorized_keys si trova la chiave pubblica. La seconda indica il server.

Risoluzione dei problemi
| Problema | Causa | Soluzione |
|---|---|---|
| Server refused our key (il server ha rifiutato la chiave) | La chiave pubblica non è installata correttamente per quell'account | Verifica che ~/.ssh/authorized_keys contenga la chiave su un'unica riga, che ~/.ssh abbia permessi 700 e authorized_keys permessi 600, e che entrambi appartengano all'account |
| No supported authentication methods available (nessun metodo di autenticazione supportato disponibile) | PuTTY non ha alcuna chiave da offrire, e il server non accetta password | Imposta il file .ppk in Connection, SSH, Auth, Credentials |
| Access denied (accesso negato) | Il nome dell'account è errato | Conferma il nome dell'account sul server. PuTTY non può correggere un nome digitato in modo errato nella stessa sessione, quindi chiudi la finestra e connettiti di nuovo |
| Network error: Connection timed out | L'indirizzo o la porta sono errati, oppure un firewall scarta il traffico | Verifica l'indirizzo IP e la porta, quindi controlla il firewall sul server e lungo il percorso |
| Network error: Connection refused | Nulla è in ascolto su quella porta, perché il servizio SSH è fermo oppure collegato a un'altra porta | Controlla lo stato del servizio SSH e la porta su cui è in ascolto, tramite la console del provider se non hai altro accesso |
| La passphrase viene rifiutata | La passphrase della chiave privata è errata | Digitala di nuovo. Se continua a fallire, usa una chiave di cui conosci la passphrase, oppure genera una nuova coppia |
| La chiave funziona in un altro client, ma non in PuTTY | La chiave è in formato OpenSSH anziché .ppk | Convertila in PuTTYgen come descritto sopra |
Sicurezza della chiave SSH
- Conserva la chiave privata sul tuo computer e non condividerla con nessuno. Chiunque possieda quel file può accedere al posto tuo.
- Proteggi la chiave con una passphrase, scegliendone una che non usi altrove.
- Conserva il file della chiave dove solo il tuo account può leggerlo, e includilo nei tuoi backup personali. Una chiave privata smarrita non può essere recuperata dalla sola metà pubblica.
- Usa chiavi separate per server o ruoli separati dove è praticabile, in modo che una chiave esposta non apra tutto.
- Tratta qualsiasi sospetta esposizione come reale: genera una nuova coppia, installa la nuova chiave pubblica e rimuovi la vecchia riga da authorized_keys su ogni server.
Una volta che l'autenticazione a chiave funziona in modo affidabile, due modifiche lato server riducono ulteriormente l'esposizione: disattiva l'autenticazione con password nella configurazione OpenSSH, e limita la porta SSH nel firewall agli indirizzi da cui ti connetti.
Annullare le modifiche
Per rimuovere la chiave dal server, conserva prima una copia del file, quindi elimina la riga che contiene la chiave pubblica:
cp ~/.ssh/authorized_keys ~/.ssh/authorized_keys.bak nano ~/.ssh/authorized_keys
Conferma che un altro modo per accedere funzioni ancora prima di rimuovere una chiave. Un account senza alcuna chiave utilizzabile e senza accesso con password richiede la console del provider per essere recuperato.
Per rimuovere PuTTY da Windows, cancella prima le sue impostazioni salvate, perché disinstallare il programma le lascia intatte. Esegui quanto segue in un prompt dei comandi o nella finestra di dialogo Esegui, e conferma la richiesta che appare:
putty.exe -cleanup
Apri quindi Impostazioni, vai su App, poi App installate, trova PuTTY nell'elenco e scegli Disinstalla. Elimina tu stesso il file .ppk se la chiave non serve più.
Conclusione e passi successivi
Il tuo computer Windows ora raggiunge il VPS Linux tramite PuTTY con una chiave anziché una password, la sessione è salvata per il riutilizzo, e la chiave host del server è memorizzata in cache e verificata. L'autenticazione con password sul server può ora essere disattivata, eliminando così la via d'accesso più attaccata verso una macchina esposta pubblicamente. Pageant, installato insieme a PuTTY, mantiene la chiave decifrata per tutta la durata di una sessione Windows e risparmia la digitazione della passphrase a ogni connessione. Per attività correlate, vedi Connessione via SSH per l'accesso basato su password, Modifica della porta SSH per spostare il servizio dalla porta 22, e Connessione a un server via SSH su macOS per la stessa attività da macOS.
Versione del documento: 1.0
Ultimo aggiornamento: agosto 2026
Responsabile: Team di documentazione tecnica