Il protocollo SSH (acronimo di Secure Shell) rappresenta lo standard di settore per l’accesso remoto sicuro ai server Linux/Unix. Questo protocollo client-server permette di eseguire comandi e gestire file a distanza in totale sicurezza. Il demone responsabile di questo servizio si chiama SSHD e, di default, rimane in ascolto sulla porta TCP 22 nei sistemi operativi come Ubuntu. Grazie alla potente suite OpenSSH, gli amministratori di sistema possono abbandonare definitivamente protocolli obsoleti e insicuri come rsh, telnet e ftp, garantendo comunicazioni crittografate end-to-end immuni alle intercettazioni di rete.
Preparare Ubuntu
La primissima operazione da eseguire prima di installare SSH su Ubuntu è l’aggiornamento della lista dei pacchetti apt alle release più recenti. Questo step garantisce stabilità e previene conflitti software. Apri il terminale e digita il seguente comando:
sudo apt update && sudo apt upgrade Installare SSH su Ubuntu
Di norma, il pacchetto server di OpenSSH non è preinstallato sulle versioni Desktop del sistema operativo. Procediamo quindi con l’installazione manuale digitando nel terminale:
sudo apt install openssh-server Il sistema avvierà il download e l’installazione delle dipendenze necessarie. Conferma rispondendo “Sì” (o “Y”) ai vari prompt di sistema per concludere il processo.
Avviare SSH
Una volta conclusa l’installazione, è fondamentale abilitare e avviare il servizio SSHD in background utilizzando lo strumento di gestione systemctl:
sudo systemctl enable --now ssh L’aggiunta della chiave --now è una scorciatoia estremamente utile: avvia immediatamente il demone e, al contempo, lo abilita per l’avvio automatico a ogni riavvio del sistema.
Per assicurarti che il servizio OpenSSH sia effettivamente abilitato e funzioni senza errori, esegui una rapida verifica dello stato:
sudo systemctl status ssh Se tutto è andato a buon fine, l’output mostrerà la dicitura Active: active (running). Premi Q sulla tastiera per uscire dalla schermata di stato.
Nel caso in cui tu debba sospendere l’accesso remoto al server per manutenzione o motivi di sicurezza, puoi disabilitare facilmente il servizio in questo modo:
sudo systemctl disable ssh Questo comando disabilita il servizio e gli impedisce di avviarsi automaticamente all’accensione della macchina.
Configurare il firewall
Prima di tentare qualsiasi connessione esterna tramite SSH, devi verificare che il firewall della macchina sia configurato per accettare le richieste in entrata. Per approfondimenti dettagliati sui criteri di sicurezza, puoi consultare la documentazione ufficiale Ubuntu su UFW.
Nel nostro caso, utilizzeremo proprio UFW (Uncomplicated Firewall), lo standard di Ubuntu. Eseguiamo il controllo dello stato:
sudo ufw status Nell’output generato, dovresti confermare che il traffico SSH è consentito (ALLOW). Se non vedi regole per la porta 22 o per il profilo OpenSSH, devi permettere le connessioni in ingresso inserendo questa istruzione:
sudo ufw allow ssh Connettersi al server
Terminata la configurazione del demone e del firewall, il tuo server è finalmente pronto ad accogliere richieste di collegamento dai client remoti.
Per stabilire il collegamento, avrai bisogno di tre elementi: il protocollo, l’indirizzo IP del server (o il suo nome a dominio) e il nome dell’utente (username) abilitato all’accesso sul server remoto.
Dal terminale del tuo computer locale, digita il comando rispettando la seguente sintassi:
ssh username@indirizzo_IP In alternativa, se al server è associato un dominio web valido:
ssh username@dominio FAQ – Domande Frequenti su SSH e Ubuntu
1. Qual è la porta predefinita di SSH e perché cambiarla?
La porta predefinita assegnata al protocollo SSH è la TCP 22. Molti amministratori di sistema e devOps preferiscono modificarla agendo sul file /etc/ssh/sshd_config. Cambiare porta è una strategia utile per eludere le scansioni di rete automatizzate e mitigare i tentativi di accesso brute-force indirizzati verso i servizi standard.
2. Qual è la differenza sostanziale tra SSH e Telnet?
La differenza principale riguarda il livello di sicurezza. Telnet invia i pacchetti di dati (inclusi username e password) in chiaro (plaintext), rendendoli vulnerabili al furto tramite packet sniffing. SSH, al contrario, crea un tunnel virtuale basato su crittografia forte, garantendo che nessuno possa intercettare o manipolare il traffico scambiato tra client e server.
3. Come posso aumentare la sicurezza del mio server OpenSSH?
Per blindare il tuo server Ubuntu, è caldamente raccomandato disabilitare l’accesso diretto per l’utente amministratore modificando la direttiva in PermitRootLogin no. Inoltre, disabilitare l’autenticazione tramite password tradizionale in favore dell’uso di una coppia di chiavi crittografiche SSH (pubblica/privata) assicura che solo i computer autorizzati provvisti del certificato corretto possano effettuare il login.






