Sicurezza SSH · 4 min read · Nov 14, 2025
Migliori pratiche di sicurezza OpenSSH
SSH (Secure Shell) è un protocollo di rete crittografico per avviare sessioni shell basate su testo su macchine remote in modo sicuro.
OpenSSH è il client e server SSH standard utilizzato dalla maggior parte delle distribuzioni Linux. È uno strumento di connettività su cui la maggior parte degli amministratori fa affidamento per lavorare sui propri server Linux e *BSD. OpenSSH cripta tutto il traffico (compresi le password) per eliminare efficacemente l’intercettazione, l’hijacking della connessione e altri attacchi. In altre parole, “OpenSSH garantisce che la connessione al tuo server sia sicura”. Vedi l’articolo di Wikipedia per un excursus dettagliato su SSH.
Questo tutorial copre le migliori pratiche per configurare in modo sicuro il tuo server SSH.
Sicurezza OpenSSH
Questi sono i sei compiti più importanti per mettere in sicurezza la configurazione del tuo server SSH:
- Usa una password forte.
- Cambia la porta predefinita SSH.
- Usa sempre la versione del protocollo 2.
- Disabilita il login come root.
- Limita l’accesso degli utenti.
- Usa l’autenticazione basata su chiave.
Usa una password forte
Una password è una parola o una stringa di caratteri utilizzata per l’autenticazione dell’utente per dimostrare l’identità o l’approvazione dell’accesso per ottenere l’accesso a una risorsa. Tienila segreta da coloro che non sono autorizzati ad accedere al server. Usa una password complessa e lunga, dovrebbe essere facile da ricordare e unica per te, ma non facile da indovinare per gli altri. Non usare admin123 o admin ecc. che sono facili da indovinare e non usare compleanni, il nome di tua moglie ecc. Una buona password dovrebbe contenere anche caratteri speciali come ‘.!;/‘ (non solo i caratteri a-c e 0-9). Usa caratteri maiuscoli e minuscoli nella password.
Cambia la porta predefinita SSH
La porta predefinita del servizio SSH è 22, dovresti cambiarla per rendere meno ovvio che il tuo server sta eseguendo un servizio SSH. Il file di configurazione SSH si trova nella directory /etc/sshd/, devi modificare il file di configurazione /etc/ssh/sshd_config.
nano /etc/ssh/sshd_configCerca la riga “Port”:
Port 22e cambiala con il tuo numero di porta preferito, esempio: 1337
Port 1337
Si prega di scegliere una porta che non è ancora in uso sul tuo server. Puoi ottenere un elenco delle porte attualmente in uso con il comando:
netstat -ntapQuesto comando restituisce un elenco piuttosto lungo che mostra tutte le porte e le connessioni aperte. Se desideri solo controllare se la tua porta desiderata è disponibile, usa invece questo comando:
netstat -ntap | grep 4422In questo esempio, controllerò se la porta 4422 è libera. Se il comando non restituisce un risultato, allora la porta è disponibile e può essere utilizzata per SSH.
Usa sempre il protocollo 2
SSH ha due versioni del protocollo, il vecchio protocollo 1 che è insicuro e il nuovo protocollo 2. Quindi usa sempre il protocollo 2 per il tuo server ssh, è più sicuro del protocollo 1. Maggiori informazioni qui.

Disabilita il login come root
Dovresti disabilitare il login diretto per l’utente root perché ci sono molti attacchi di forza bruta contro il nome dell’utente superuser root. IMPORTANTE: testa il login SSH con il tuo utente alternativo non-root che intendi utilizzare per i login SSH prima di disabilitare l’account root.
PermitRootLogin no
Dopo aver impostato “PermitRootLogin” su “no”, non puoi più accedere con l’account root, anche se usi la password corretta per l’utente root.
Limita l’utente
Dovresti aggiungere un nuovo utente per il login al tuo server. Supponi di aver creato gli utenti ruiko e mikoto per accedere al tuo server, quindi puoi aggiungere la nuova riga:
AllowUsers ruiko mikoto
in /etc/ssh/sshd_config per limitare l’accesso SSH a questi utenti.
Usa l’autenticazione basata su chiave
Ti consiglio di utilizzare questa opzione perché è molto facile da configurare e più sicura rispetto all’autenticazione basata su password. Prima devi creare una coppia di chiavi pubblica-privata sul tuo computer locale (desktop), io uso Linux per crearla.
Puoi creare la coppia di chiavi pubblica/privata con questo comando:
ssh-keygen -t rsa -b 4096Creerà 2 file situati nella directory ~/.ssh/, id_rsa come chiave privata e id_rsa.pub come chiave pubblica. Se ti viene chiesto di inserire una password, puoi lasciarla vuota o digitare la tua password. È consigliato utilizzare una password per proteggere la tua chiave.

Ora carica la chiave pubblica id_rsa.pub sul tuo server con il comando ssh-copy-id.
ssh-copy-id -i ~/.ssh/id_rsa.pub user@serveripScriverà automaticamente la tua chiave pubblica nel file ~/.ssh/authorized_keys/ nel tuo server.
Ora torna al tuo server e modifica di nuovo il file di configurazione ssh.
nano /etc/ssh/sshd_configDecommenta questa riga:
AuthorizedKeysFile %h/.ssh/authorized_keys
e infine riavvia il tuo server ssh:
systemctl restart sshdOra prova a connetterti al tuo server:
ssh -p '4422' 'user@serverIP'Conclusione
OpenSSH è lo standard per l’accesso remoto sicuro ai server *Unix-like, sostituendo il protocollo telnet non crittografato. SSH (e il suo sottoprotocollo di trasferimento file SCP) garantisce che la connessione dal tuo computer locale al server sia crittografata e sicura. L’installazione di base di OpenSSH è già piuttosto sicura, ma possiamo migliorarla seguendo la guida sopra.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.