Su Windows 11 SSH non è più un componente da inseguire: il client è integrato e, nella pratica, basta verificarne la presenza per iniziare a collegarsi a un server remoto. Per amministrare un host Linux, la combinazione più pulita resta questa: client OpenSSH sul PC, chiavi al posto delle password quando possibile, controllo del fingerprint alla prima connessione e un minimo di disciplina su permessi e configurazione del server.
Il vantaggio è concreto: meno dipendenze, meno attrito operativo e una procedura ripetibile sia da terminale sia, se serve, dall’interfaccia di Windows. Qui trovi il percorso completo, dalla verifica del client fino ai problemi più comuni che bloccano l’accesso a un server remoto.
SSH su Windows 11: cosa serve davvero
Per aprire una sessione SSH servono tre pezzi: il client sul PC Windows 11, il servizio SSH attivo sul server e un account autorizzato. Su Linux il demone è in genere sshd e ascolta sulla porta 22, salvo modifiche esplicite.
Il client incluso in Windows 11 usa OpenSSH. Lo puoi richiamare da PowerShell, dal Prompt dei comandi o da Windows Terminal. Se preferisci una GUI per il terminale, Windows Terminal va benissimo, ma il motore resta sempre quello. Per uso amministrativo, il terminale è la scelta più prevedibile.
Prima di andare oltre, chiarisco il punto più importante: SSH non è solo “aprire una shell remota”. È un canale cifrato che protegge autenticazione e traffico, ma la sicurezza reale dipende anche da come è configurato il server, da quali chiavi accetta e da chi può entrare.
Verificare che il client SSH sia presente
Prima di fare altro, controlla che il comando sia disponibile. Apri PowerShell o Windows Terminal e lancia:
ssh -VSe il client è installato, vedrai una versione simile a OpenSSH_for_Windows_*. Se compare un errore tipo “ssh non è riconosciuto”, il componente manca oppure non è nel PATH.
Per installarlo dall’interfaccia:
- Apri Impostazioni.
- Vai su App → Funzionalità facoltative.
- Cerca OpenSSH Client.
- Se non è presente, aggiungilo con Visualizza funzionalità o Aggiungi una funzionalità, a seconda della build.
Da PowerShell amministrativo puoi verificare e installare anche da riga di comando:
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Client*'Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0Se il client è già installato ma il comando non parte, controlla il percorso con:
where sshLa presenza di C:\Windows\System32\OpenSSH\ssh.exe è il caso normale. Se il binario esiste ma non viene trovato, il problema è quasi sempre di PATH o di sessione terminale non aggiornata. In pratica: chiudi e riapri il terminale prima di inseguire falsi problemi.
Connessione base a un server Linux
La forma minima del comando è questa:
ssh utente@server.example.comSe il server usa una porta diversa dalla 22, aggiungi -p:
ssh -p 2222 utente@server.example.comAlla prima connessione, il client mostra il fingerprint della chiave host del server e chiede conferma. Questo passaggio non va saltato: se il fingerprint non coincide con quello comunicato dall’amministratore, fermati e verifica. È il controllo che ti evita di accettare il server sbagliato, un DNS errato o un reindirizzamento non previsto.
Dopo l’accettazione, la chiave host nota viene salvata nel file locale %USERPROFILE%\.ssh\known_hosts. Se il server viene reinstallato o la chiave host cambia, Windows segnala un mismatch. In quel caso non forzare la connessione senza capire il motivo: può essere una reinstallazione legittima, ma anche un problema di sicurezza.
Per un controllo rapido del percorso di rete prima di accettare un host nuovo, puoi anche confrontare il nome con un test DNS o con l’IP atteso. Se il nome risolve su un indirizzo inatteso, il problema non è SSH ma la risoluzione o l’instradamento.
Generare una chiave SSH su Windows 11
Per un uso serio, la chiave SSH è la strada giusta. Le password restano utili solo come fallback o per accessi temporanei. Su Windows 11 puoi generare una coppia di chiavi direttamente dal terminale:
ssh-keygen -t ed25519 -C "nome-utente@pc-windows"Il tipo ed25519 è in genere la scelta più sensata oggi: chiave compatta, prestazioni buone e sicurezza adeguata per l’uso normale. Durante la creazione ti verrà chiesto dove salvare la chiave privata. Il percorso predefinito è %USERPROFILE%\.ssh\id_ed25519, con la parte pubblica in %USERPROFILE%\.ssh\id_ed25519.pub.
Ti verrà anche chiesta una passphrase. Metterla è una buona idea: se qualcuno copia il file della chiave privata, la passphrase aggiunge un secondo ostacolo. Senza passphrase l’accesso è più comodo, ma anche più fragile in caso di furto del profilo o del disco.
Per controllare che i file siano stati creati, verifica la cartella:
dir $env:USERPROFILE\.sshSe lavori da più macchine o con più ruoli, conviene dare nomi espliciti alle chiavi invece di usare solo i default. In questo modo eviti confusione quando devi capire quale chiave stai presentando al server.
Caricare la chiave pubblica sul server Linux
Per usare la chiave appena creata, la parte pubblica va autorizzata sul server. Il metodo più comodo è ssh-copy-id, ma su Windows non è sempre disponibile nativamente. Se lo hai sul server o in un ambiente compatibile, il flusso è semplice:
ssh-copy-id -i ~/.ssh/id_ed25519.pub utente@server.example.comSe preferisci farlo a mano, apri la chiave pubblica con:
type %USERPROFILE%\.ssh\id_ed25519.pubCopiala nel file ~/.ssh/authorized_keys dell’utente sul server, una chiave per riga. Sul server i permessi contano: la directory .ssh deve essere protetta e il file authorized_keys non deve essere scrivibile da altri utenti.
Se il login con chiave non funziona, i punti da controllare sono quasi sempre questi: utente sbagliato, chiave pubblica incollata male, permessi errati sul server oppure configurazione di sshd che disabilita l’autenticazione a chiave.
Usare SSH in modo pratico da Windows 11
Una volta che l’accesso funziona, SSH diventa uno strumento quotidiano. Puoi eseguire comandi singoli senza aprire una shell interattiva:
ssh utente@server.example.com "uname -a"Puoi anche copiare file con scp, che su Windows 11 è disponibile insieme al client OpenSSH:
scp .\backup.sql utente@server.example.com:/tmp/Per un trasferimento ricorsivo di cartelle, aggiungi -r:
scp -r .\site-export\ utente@server.example.com:/var/www/Se devi aprire più sessioni, Windows Terminal aiuta solo a tenere ordine tra le schede. Non cambia il comportamento di SSH, ma riduce gli errori operativi quando salti tra ambienti diversi.
Configurare un alias SSH per evitare di riscrivere tutto
Quando ti colleghi spesso allo stesso server, conviene salvare i parametri in un file di configurazione locale. Su Windows 11 il file è %USERPROFILE%\.ssh\config. Ecco un esempio minimale:
Host produzione-web
HostName server.example.com
User deploy
Port 2222
IdentityFile ~/.ssh/id_ed25519Con questa configurazione puoi collegarti con:
ssh produzione-webIl vantaggio non è solo la comodità. Riduci anche gli errori di digitazione su host, utente, porta e chiave. Se gestisci più ambienti, separare gli alias ti aiuta a non mischiare staging e produzione.
Se il file non viene letto, controlla il nome esatto, l’estensione nascosta e il fatto che la sintassi sia coerente. Un errore di formattazione in config può rendere inutilizzabile l’alias senza generare messaggi molto chiari.
Problemi comuni: come capire dove si rompe
Quando SSH non parte, il punto giusto è capire il layer che si è rotto: DNS, rete, autenticazione o permessi sul server. La diagnosi migliore parte sempre dal sintomo osservabile, non dall’ipotesi preferita.
Se il nome host non risolve, il problema è prima di SSH. Verifica con:
nslookup server.example.comSe la porta non risponde, controlla la raggiungibilità con una prova semplice:
Test-NetConnection server.example.com -Port 22Se il server rifiuta l’accesso dopo il banner iniziale, il problema è spesso nell’autenticazione o nei permessi della chiave. In quel caso aumenta il dettaglio lato client con:
ssh -vvv utente@server.example.comL’output verboso mostra dove si ferma il flusso: negoziazione, verifica della chiave host, tentativo di autenticazione, scelta della chiave, rifiuto dal server. È il modo più rapido per evitare tentativi alla cieca.
Se invece ricevi un errore di host key mismatch, non cancellare subito il file locale senza capire il contesto. Prima verifica se il server è stato reinstallato, se l’IP punta davvero all’host giusto e se il fingerprint atteso coincide con quello nuovo.
Risoluzione dei problemi più comuni su Windows 11
Il primo problema tipico è il client assente o non raggiungibile dal terminale. In quel caso ssh -V e where ssh chiariscono subito se il binario esiste e dove si trova.
Il secondo problema è la chiave privata con permessi o percorso sbagliati. Se hai più chiavi, il client può scegliere quella non prevista. Per forzare una chiave specifica usa -i:
ssh -i %USERPROFILE%\.ssh\id_ed25519 utente@server.example.comIl terzo problema è il server che non accetta la tua chiave. Qui la verifica va fatta lato Linux: controlla /etc/ssh/sshd_config, il contenuto di ~/.ssh/authorized_keys, i permessi della home dell’utente e gli eventuali log di autenticazione.
Se il server usa una porta non standard, ricordati che firewall, security group o regole di rete devono essere allineati. SSH può essere configurato correttamente e restare comunque irraggiungibile se la porta è filtrata a monte.
Buone pratiche minime per non complicarsi la vita
Per un uso ordinato, tieni separate le chiavi per contesti diversi, usa una passphrase dove ha senso e conserva gli alias nel file config. Evita di riutilizzare la stessa chiave ovunque se amministri più ambienti con livelli di accesso diversi.
Se lavori su sistemi esposti, limita l’accesso da password sul server solo dopo aver verificato che la chiave funzioni davvero. La migrazione va fatta con attenzione, non a colpi di disabilitazione cieca, altrimenti rischi di tagliarti fuori.
Infine, quando cambi server o reinstalli un host, tratta sempre il fingerprint come un’informazione da verificare, non come un dettaglio decorativo. È una delle poche difese che ti protegge da errori di routing, DNS e sostituzioni non previste.
In sintesi operativa
Su Windows 11 il percorso giusto è lineare: verifica il client, genera una chiave, autorizza la chiave pubblica sul server, controlla il fingerprint e usa alias e porte esplicite quando servono. Se qualcosa non funziona, non partire da SSH in astratto: separa prima rete, DNS, autenticazione e permessi.
Con questa base puoi collegarti a un server Linux in modo ripetibile, sicuro e senza dipendere da strumenti esterni. E quando qualcosa si rompe, hai già i comandi minimi per capire dove intervenire.
Commenti (0)
Nessun commento ancora.
Segnala contenuto
Elimina commento
Eliminare definitivamente questo commento?
L'azione non si può annullare.