Una password si indovina, si riutilizza e finisce nelle fughe di dati. Una chiave SSH non si indovina: la parte segreta non lascia mai il Suo computer e il server conosce solo la parte pubblica. È la modifica di configurazione che porta più sicurezza con il minor sforzo.
Come generare una coppia di chiavi SSH?
Con un solo comando, ssh-keygen -t ed25519, che crea una chiave privata e una chiave pubblica.
Sul Suo computer — non sul server — apra un terminale (su Windows va bene PowerShell):
ssh-keygen -t ed25519 -C "martino@portatile-personale"
- Accetti il percorso proposto,
~/.ssh/id_ed25519. - Inserisca una passphrase. Cifra la chiave privata: se il Suo computer viene rubato, la chiave resta inutilizzabile.
Vengono creati due file:
id_ed25519— la chiave privata. Non va copiata da nessuna parte, non va inviata su alcun canale e non va mai incollata in una richiesta di assistenza.id_ed25519.pub— la chiave pubblica. È questa che carica sui server.
Visualizzi la chiave pubblica per copiarla:
cat ~/.ssh/id_ed25519.pub
Sta su una sola riga e inizia con ssh-ed25519 AAAA….
Come caricare la mia chiave pubblica sul mio VPS?
Due strade: incollarla nel riquadro Chiavi SSH della scheda Accessi e sicurezza, oppure inviarla dal Suo terminale con ssh-copy-id.
Dall'area clienti, è la via più semplice:
- Apra I miei servizi, poi il Suo VPS.
- Vada nella scheda Accessi e sicurezza.
- Nel riquadro Chiavi SSH, incolli la Sua chiave pubblica. Il campo accetta una chiave per riga e i formati
ssh-rsa,ssh-ed25519edecdsa. - Clicchi su Salva le chiavi.
Il messaggio «Chiavi SSH aggiornate con successo.» conferma il salvataggio e la scheda Cronologia ne conserva traccia. Queste chiavi sono conservate e reinserite automaticamente a ogni reinstallazione del VPS: non deve rifare l'operazione.
Dal Suo terminale, funziona anche il metodo classico:
ssh-copy-id root@INDIRIZZO_IP
Verifichi poi che la connessione con chiave funzioni, senza chiudere la Sua sessione attuale:
ssh root@INDIRIZZO_IP
Se il server non chiede più la password dell'account — al massimo la passphrase della Sua chiave — è tutto a posto.
Come disattivare la connessione SSH con password?
Impostando PasswordAuthentication no in /etc/ssh/sshd_config e ricaricando poi il servizio SSH — solo dopo aver verificato la connessione con chiave.
Compia questo passaggio solo dopo aver verificato il punto precedente e mantenga aperta la Sua sessione SSH attuale per tutta la durata dell'operazione.
Modifichi /etc/ssh/sshd_config:
PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin prohibit-password
Verifichi la sintassi prima di ricaricare il servizio — questo comando evita un server SSH che rifiuta di riavviarsi:
sshd -t
systemctl reload ssh # Debian, Ubuntu
systemctl reload sshd # AlmaLinux, Rocky, CentOS Stream
Apra ora una seconda sessione in un'altra finestra. Se va a buon fine, può chiudere la prima con tranquillità. Se non riesce, corregga il file dalla sessione rimasta aperta.
Come salvare la mia chiave privata e dare l'accesso a un'altra persona?
Salvi la chiave privata dove custodisce le Sue password e aggiunga solo la chiave pubblica della persona interessata, su una nuova riga.
- Salvi la Sua chiave privata dove salva le Sue password: perderla equivale a perdere l'accesso, salvo ripassare dalla console.
- Per dare l'accesso a una seconda persona, aggiunga la sua chiave pubblica su una nuova riga. Non condivida mai una chiave privata tra più persone: perde ogni tracciabilità e non può più revocare un accesso singolarmente.
- Per revocare un accesso, elimini la riga corrispondente e salvi di nuovo.
Che cosa fare se perdo la mia chiave SSH?
Non è bloccato. Apra la console di emergenza dall'area clienti: Le dà lo schermo della macchina senza passare da SSH. Si colleghi con la password amministratore, rimetta temporaneamente PasswordAuthentication yes, carichi una nuova chiave, poi richiuda.