cover ssh su ubuntu
3–4 minuti

Installare e Configurare SSH su Ubuntu: Guida Completa

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.

ItalianoitItalianoItaliano