Su Ubuntu 20.04 LTS il server OpenSSH si installa in pochi minuti, ma il punto non è “far partire sshd”: il punto è portare a casa un accesso remoto verificato, limitato e ripetibile. In pratica conviene distinguere subito tra installazione del pacchetto, apertura della porta, verifica del servizio e primo hardening minimo, così eviti di ritrovarti con un host apparentemente pronto ma irraggiungibile.
Qui sotto trovi un percorso lineare, adatto a una macchina nuova o a un server appena provisionato. L’obiettivo è semplice: ottenere un accesso SSH funzionante sulla porta 22, controllare che il demone ascolti davvero, e lasciare il sistema in uno stato che non richieda interventi urgenti al primo riavvio.
Verifica preliminare: rete, IP e accesso console
Prima di installare qualsiasi cosa, assicurati di avere un canale di accesso alternativo, come console hypervisor, KVM, seriale del provider o accesso web del pannello cloud. È una precauzione banale solo finché non chiudi la porta sbagliata o applichi una regola firewall troppo restrittiva.
Controlla l’indirizzo della macchina e la connettività di base con comandi semplici:
ip aSe la macchina è già in rete, identifica l’IP utile per il test remoto. Se lavori in un ambiente con DHCP o provisioning automatico, annota anche il nome host che userai per il login, perché in molti casi il problema non è SSH ma il target sbagliato.
Installazione del server OpenSSH su Ubuntu 20.04 LTS
Su Ubuntu il pacchetto corretto è openssh-server. L’installazione è standard e non richiede repository esterni.
sudo apt update
sudo apt install openssh-serverDopo l’installazione, il sistema avvia di norma il servizio in automatico e abilita l’ascolto sulla porta 22. Non dare per scontato che basti: verifica subito stato, attivazione e porta in ascolto.
systemctl status ssh --no-pager
ss -tlnp | grep ':22'Su Ubuntu il servizio si chiama ssh, non sshd. È un dettaglio che crea confusione soprattutto quando si passa da altre distribuzioni o da documentazione generica.
Conferma del servizio e avvio automatico
Se il servizio non è attivo, fallito o disabilitato, il controllo va fatto subito. L’output atteso deve mostrare active (running). Se non compare, hai già un indizio concreto da seguire nei log di systemd.
sudo systemctl enable --now ssh
sudo systemctl is-enabled ssh
sudo systemctl is-active sshPer l’analisi rapida dei log di avvio usa:
journalctl -u ssh -b --no-pagerSe trovi errori di bind sulla porta, problemi di chiave host o permessi sulle directory, la causa è quasi sempre visibile lì senza dover toccare la configurazione al buio.
Test locale prima del login remoto
Un test locale riduce il rumore: se SSH non risponde nemmeno in locale, il problema è a livello di servizio o configurazione, non di rete esterna.
ssh localhostSe il login locale funziona, passa al test remoto da una seconda macchina o dalla tua workstation. Usa un client verboso solo per la fase di verifica, così leggi il punto esatto in cui la connessione si ferma.
ssh -vvv utente@IP_DEL_SERVERIn caso di timeout, controlla prima layer di rete e firewall; in caso di rifiuto immediato, spesso il demone non è in ascolto o la porta è filtrata localmente. In caso di autenticazione negata, il problema è quasi sempre nelle credenziali o nel metodo di accesso.
Firewall: aprire solo la porta necessaria
Su Ubuntu 20.04 è comune usare UFW. Se il firewall è attivo, devi consentire l’accesso SSH prima di chiudere la sessione corrente, altrimenti rischi di tagliarti fuori.
sudo ufw status verbose
sudo ufw allow OpenSSH
sudo ufw enableSe preferisci regole esplicite sulla porta, puoi usare:
sudo ufw allow 22/tcpVerifica sempre l’effetto reale della policy:
sudo ufw status numberedIn ambienti con security group, ACL o firewall del provider, UFW non basta. La porta 22 deve essere aperta anche a monte, altrimenti il demone risulta sano ma resta invisibile dall’esterno.
Primo accesso e gestione delle chiavi SSH
La soluzione corretta in produzione non è continuare con password ovunque, ma passare subito alle chiavi. Il flusso classico è generare una chiave sul client e copiare la pubblica sul server.
ssh-keygen -t ed25519 -C
Commenti (0)
Nessun commento ancora.
Segnala contenuto
Elimina commento
Eliminare definitivamente questo commento?
L'azione non si può annullare.