SSH è un protocollo di rete che consente una connessione sicura tra un client e un server. Tutta la comunicazione è crittografata, impedendo il furto di dati trasmessi sulla rete e altri attacchi remoti.
Supponiamo che tu abbia ordinato un server cloud da Hostman. Avrai bisogno di SSH installato e configurato per poterti connettere e amministrare il server.
La guida qui sotto descrive come installare e configurare SSH su Ubuntu 22.04.
Before proceeding with the installation and configuration of the Secure Shell service, ensure the following requirements are met:
Competenze sulla riga di comando Linux
Una buona conoscenza dei comandi base di Linux come sudo
, apt
, nano
e systemctl
è essenziale per configurare il servizio. Questi comandi saranno utilizzati spesso durante il processo. È importante sentirsi a proprio agio nell'ambiente a riga di comando per gestire il servizio in modo efficace.
Accesso root o sudo per l'installazione
Sono richiesti privilegi amministrativi (root
) per installare e configurare il server. Gli utenti devono avere accesso sudo
o essere connessi come root
. Senza questi privilegi non è possibile procedere.
Connessione Internet per scaricare i pacchetti
È necessaria una connessione Internet stabile per installare il server OpenSSH e eventuali pacchetti aggiuntivi. Senza una connessione funzionante, il sistema non può recuperare i componenti richiesti.
Se sul sistema è attivo un firewall come ufw, è possibile che blocchi l'accesso remoto. È essenziale configurarlo per consentire le connessioni in ingresso. Usa ufw o un altro strumento per assicurarti che la porta 22 sia aperta.
Devi avere accesso fisico al computer per configurare il servizio in locale oppure deve essere accessibile da remoto tramite indirizzo IP. Assicurati che il sistema sia correttamente connesso alla rete.
Non dimenticare che puoi distribuire il tuo server cloud in modo rapido ed economico con il nostro servizio di VPS Hosting.
La prima cosa da fare prima di installare SSH su Ubuntu è aggiornare tutti i pacchetti apt
. Usa il comando:
sudo apt update && sudo apt upgrade
OpenSSH non è installato di default, quindi procediamo con l'installazione manuale:
sudo apt install openssh-server
L'installazione dei componenti necessari avrà inizio. Rispondi "Sì" a tutte le richieste del sistema.
Una volta terminata l'installazione, passa allo step successivo per avviare il servizio.
Ora attiva il servizio appena installato:
sudo systemctl enable --now ssh
In caso di successo, riceverai un messaggio di conferma.
Il parametro --now
avvia il servizio e lo abilita all'avvio del sistema.
Per verificare che il servizio sia attivo e funzionante:
sudo systemctl status ssh
L'output dovrebbe includere la riga Active: active (running)
, che conferma l'avvio corretto del servizio.
Per disattivare il servizio:
sudo systemctl disable ssh
Ciò disabilita il servizio e ne impedisce l'avvio automatico.
Prima di connetterti al server via SSH, controlla che il firewall sia configurato correttamente.
Se UFW è installato, usa questo comando:
sudo ufw status
Dovresti vedere che il traffico SSH è consentito. In caso contrario, autorizzalo con:
sudo ufw allow ssh
Dopo aver completato i passaggi precedenti, puoi accedere al server via SSH.
Avrai bisogno dell'indirizzo IP o del nome di dominio del server e del nome utente. Nel terminale, digita:
ssh nomeutente@IP_indirizzo
Oppure:
ssh nomeutente@dominio
Importante: Per una connessione riuscita, SSH deve essere installato e configurato sia sul server remoto sia sul computer client.
Per maggiore sicurezza, puoi configurare una coppia di chiavi al posto della sola password. Per generare la chiave usa:
ssh-keygen
Dopo i primi cinque passaggi, puoi già accedere da remoto al server. Tuttavia, puoi migliorare la sicurezza cambiando la porta predefinita o passando all'autenticazione tramite chiave. Queste modifiche richiedono la modifica del file di configurazione sshd_config
(posizione: /etc/ssh
).
Prima di modificare, crea una copia di backup:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.initial
In caso di errore, potrai ripristinare la versione originale.
Dopo aver creato il backup, puoi procedere alla modifica del file di configurazione. Apri il file con l'editor nano
:
sudo nano /etc/ssh/sshd_config
Nel file, modifica la porta con un numero più sicuro. È consigliabile scegliere un valore dalla gamma dinamica delle porte (49152 - 65535) e usare numeri diversi per maggiore sicurezza. Ad esempio, cambiamo il valore della porta in 49532. Per farlo, rimuovi il commento dalla riga corrispondente nel file e modifica il numero come mostrato nello screenshot qui sotto.
Passa all'autenticazione tramite chiave rimuovendo il commento dalla riga relativa e impostando il valore su "Yes".
Impedisci anche l'accesso diretto come utente root modificando l'apposita riga.
Altre impostazioni consigliate per aumentare la sicurezza:
UseDNS
: controlla la corrispondenza tra hostname e IP. Imposta "Yes" per abilitarlo.
PermitEmptyPasswords
: impedisce le password vuote se impostato su "No".
MaxAuthTries
: limita i tentativi falliti di accesso.
AllowUsers
e AllowGroups
: definiscono gli utenti e i gruppi autorizzati:
# AllowUsers Utente1 Utente2 Utente3
# AllowGroups Gruppo1 Gruppo2 Gruppo3
LoginGraceTime
: definisce il tempo concesso per l'autenticazione. Si consiglia di ridurre questo valore di quattro volte.
ClientAliveInterval
: tempo massimo di inattività prima della disconnessione.
Dopo aver salvato le modifiche, chiudi nano.
Riavvia il servizio per applicare i cambiamenti:
sudo systemctl restart ssh
Se hai modificato la porta, usa il nuovo numero per connetterti:
ssh -p numero_porta nomeutente@IP_indirizzo
Oppure:
ssh -p numero_porta nomeutente@dominio
sudo systemctl status ssh
sudo systemctl restart ssh
sudo ufw allow 22
ping <indirizzo-ip-server>
Se per qualsiasi motivo desideri disattivare l'accesso remoto, segui questi passaggi:
Arresta il servizio
Per interrompere temporaneamente l'accettazione delle connessioni:
sudo systemctl stop ssh
Disabilita l'avvio automatico
Per impedire l'avvio del servizio al riavvio del sistema:
sudo systemctl disable ssh
Verifica che il servizio sia inattivo
Controlla che il servizio non sia in esecuzione:
sudo systemctl status ssh
Disinstalla il server
Se il servizio non è più necessario, rimuovilo insieme ai file di configurazione associati:
sudo apt remove openssh-server
Questo articolo fornisce una guida passo passo per installare e configurare SSH su Ubuntu 22.04, incluse le modifiche al file di configurazione per migliorare la sicurezza. Ci auguriamo che questa guida ti aiuti a configurare una connessione remota sicura al tuo server Ubuntu.
Per saperne di più sulle chiavi SSH clicca qui.