Con una chiave SSH accedi senza digitare la password e, se in più disattivi le password, i bot che provano combinazioni contro il tuo server non hanno più niente da indovinare.
1. Crea la tua chiave (sul tuo computer)
Windows 10/11, Mac e Linux includono SSH. Apri un terminale (su Windows, PowerShell) e digita:
ssh-keygen -t ed25519
Premi Invio per salvarla nella posizione predefinita e, se vuoi, imposta una passphrase. Nella cartella .ssh del tuo utente vengono creati due file: id_ed25519 (privata: non condividerla mai) e id_ed25519.pub (pubblica).
2. Caricala sul server
Da Mac o Linux:
ssh-copy-id root@203.0.113.10
Da Windows (PowerShell):
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@203.0.113.10 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"
Ti chiederà la password un'ultima volta.
3. Provala
ssh root@203.0.113.10
Se entra senza chiederti la password del server, funziona. Non passare al punto 4 se non ha funzionato.
4. Disattiva le password per SSH
Con la sessione precedente ancora aperta (per sicurezza), sul server:
echo "PasswordAuthentication no" > /etc/ssh/sshd_config.d/00-solo-claves.conf
sshd -t && systemctl restart ssh
Su Rocky Linux 8 modifica direttamente la riga PasswordAuthentication impostandola a no in /etc/ssh/sshd_config; inoltre il servizio si chiama sshd: systemctl restart sshd.
Il nome del file inizia con 00- di proposito: in SSH vale il primo valore letto, e alcune immagini di sistema includono un altro file che riattiva le password.
Apri un altro terminale e verifica di riuscire ancora ad accedere con la chiave prima di chiudere il primo.
Se perdi la chiave
La console VNC del pannello non usa SSH, quindi lì la password continua a funzionare. Se non la ricordi, generane una nuova in Impostazioni → Reimposta la password, entra tramite VNC e aggiungi la tua nuova chiave a /root/.ssh/authorized_keys.
Per trasferire file (WinSCP, FileZilla), usa la stessa chiave privata: come caricare i file.