Ubuntu 24.04 e 26.04 LTS • Tutorial sull'autenticazione tramite chiave SSH

Come configurare le chiavi SSH su Ubuntu

Segui questa guida passo passo per configurare l'autenticazione basata su chiave SSH sul tuo server Ubuntu. Accedi in modo sicuro senza password e, facoltativamente, disabilita completamente l'autenticazione tramite password.

Guida in 4 fasi Ubuntu 24.04 e 26.04 LTS Assistenza clienti disponibile 24 ore su 24, 7 giorni su 7.

Guida passo passo

Segui attentamente ogni passaggio per configurare l'autenticazione basata su chiave SSH sul tuo server Ubuntu.

1

Crea la coppia di chiavi RSA

Esegui il seguente comando sulla tua macchina locale per generare una coppia di chiavi RSA (le versioni attuali di ssh-keygen utilizzano di default 3072 bit: usa -b 4096 per una chiave più sicura):

 $ ssh-keygen

Quando viene richiesto di specificare un percorso file, premere Invio per accettare quello predefinito ( ~/.ssh/id_rsa ). Facoltativamente, è possibile impostare una passphrase per un ulteriore livello di sicurezza.

Vengono creati due file: ~/.ssh/id_rsa (chiave privata - da tenere segreta) e ~/.ssh/id_rsa.pub (chiave pubblica - da inserire sul server).

2

Copia la chiave pubblica sul tuo server Ubuntu

Metodo 1 — ssh-copy-id (consigliato):

 $ ssh-copy-id username@remote_host

Inserisci la tua password quando richiesto. La chiave pubblica verrà aggiunta al file ~/.ssh/authorized_keys sul server.

Metodo 2 — tramite pipe SSH:

 cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Metodo 3 - manuale: visualizza la tua chiave pubblica con il cat ~/.ssh/id_rsa.pub , quindi aggiungi l'output al file ~/.ssh/authorized_keys sul server remoto.

3

Autenticazione tramite chiavi SSH

Verifica che l'autenticazione basata su chiave funzioni collegandoti al tuo server:

 $ ssh username@remote_host

Se hai impostato una passphrase al passaggio 1, ti verrà richiesto di inserirla. In caso contrario, accederai immediatamente senza alcuna richiesta di password.

4

Disabilita l'autenticazione tramite password (facoltativo)

Una volta verificato il corretto funzionamento dell'accesso basato su chiave, è possibile disabilitare l'autenticazione tramite password per proteggere il server dagli attacchi di forza bruta. Aprire il file di configurazione del demone SSH:

 sudo nano /etc/ssh/sshd_config

Trova PasswordAuthentication , rimuovi il commento dalla riga se necessario e impostala su no :

 PasswordAuthentication no

Nelle versioni attuali di Ubuntu, sshd_config termina con la riga Include /etc/ssh/sshd_config.d/*.conf , e un file in quella directory può sovrascrivere la tua impostazione. Se la modifica non ha effetto, verifica la presenza della riga PasswordAuthentication yes in /etc/ssh/sshd_config.d/ e modificala lì.

Salva il file ( Ctrl+X , poi Y , poi Invio ) e riavvia SSH:

 $ sudo systemctl restart ssh

Apri un nuovo terminale e verifica di poter ancora connetterti prima di chiudere la sessione corrente.

FAQ

Domande frequenti sulla configurazione dell'autenticazione tramite chiave SSH su Ubuntu.

Qual è la differenza tra chiave pubblica e chiave privata?

La chiave pubblica ( id_rsa.pub ) viene memorizzata sui server a cui si desidera accedere ed è sicura da condividere. La chiave privata ( id_rsa ) rimane sul computer locale e non deve mai essere condivisa. Le due chiavi lavorano insieme per autenticarti senza password.

Devo impostare una passphrase per la mia chiave privata?

Sì, l'utilizzo di una passphrase è fortemente consigliato. Aggiunge un ulteriore livello di protezione, in modo che, qualora il file della chiave privata venisse rubato, non possa essere utilizzato senza la passphrase. Utilizza ssh-agent per memorizzare nella cache la passphrase, così da non doverla digitare ogni volta.

Cosa succede se mi blocco l'accesso disattivando l'autenticazione tramite password?

Se disattivi l'autenticazione tramite password prima di aver verificato che la tua chiave funzioni, potresti perdere l'accesso. Apri sempre un nuovo terminale e prova ad accedere con la tua chiave SSH prima di chiudere la sessione corrente. Se non riesci ad accedere, avrai bisogno dell'accesso alla console (ad esempio tramite il pannello di controllo web del tuo provider di server) per riattivare l'autenticazione tramite password.

Quali versioni di Ubuntu sono coperte da questa guida?

Tutte. I passaggi sono gli stessi su Ubuntu 24.04 e 26.04 LTS e su versioni precedenti come la 20.04 e la 22.04. L'unica differenza potrebbe essere il nome del servizio SSH: usa sudo systemctl restart sshd se ssh non funziona. Gli stessi comandi funzionano anche su Debian, AlmaLinux e Rocky Linux.

Hai bisogno di un server su cui effettuare il deployment?

I nostri piani per server dedicati includono accesso root completo, storage SSD e supporto di esperti 24 ore su 24, 7 giorni su 7, per consentirti di essere operativo rapidamente.