In Ubuntu la gestione del "login" ossia la schermata d'accesso viene gestita da GDM nella quale dovremo inserire la nostra password utente per poter accedere al nostro desktop. E' possibile aumentare la sicurezza del nostro Sistema Operativo Linux tramite l'autenticazione a due fattori (2FA), richiedendo un secondo codice oltre alla tua password per accedere. Il codice OTP verrà generato ogni 60 secondi e lo troveremo sul nostro smartphone con installata l'applicazione Google Authenticator.
Ecco una guida passo-passo su come configurare Google Authenticator su Ubuntu sia per il login che l'accesso SSH.
Prerequisiti:
Un sistema Ubuntu aggiornato. Accesso a un account con privilegi sudo. Uno smartphone con l'app Google Authenticator installata (disponibile sia per Android che Apple iOS)
Passo 1: Aggiornare il Sistema
Prima di tutto, aggiorna il tuo sistema per assicurarti che tutti i pacchetti siano aggiornati:
Passo 2: Installare Google Authenticator
sudo apt update sudo apt upgrade
Passo 2: Installare Google Authenticator
Installa il modulo PAM di Google Authenticator:
Passo 3: Configurare Google Authenticator per il Tuo Account
sudo apt install libpam-google-authenticator
Passo 3: Configurare Google Authenticator per il Tuo Account
Esegui il seguente comando da terminale per configurare Google Authenticator per il tuo account utente:
Segui le istruzioni sullo schermo:
google-authenticator
Segui le istruzioni sullo schermo:
Rispondi "sì" per aggiornare il file di configurazione .google_authenticator.
Scansiona il codice QR con l'app Google Authenticator sul tuo smartphone.
Inserisci il codice generato dall'app per confermare che funziona.
Salva i codici di emergenza forniti in un luogo sicuro.
Passo 4: Configurare PAM
Passo 4: Configurare PAM
Per Utilizzare Google Authenticator per il login in GDM o altro login manager digitiamo:
e inseriamo infondo:
e salviamo il con Ctrl + X e poi S.
sudo nano /etc/pam.d/common-auth
e inseriamo infondo:
auth required pam_google_authenticator.so
e salviamo il con Ctrl + X e poi S.
Terminiamo la sessione o riavviamo. Nella schermata l'avvio dovremo prima inserire la password utente "classica" e successivamente il codice OTP dell'app Google Autenticator.

Passo 5: Configurare PAM per Utilizzare Google Authenticator in SSH
Modifica il file di configurazione PAM per abilitare Google Authenticator:
Aggiungi la seguente riga all'inizio del file:
e salviamo il con Ctrl + X e poi S
sudo nano /etc/pam.d/sshd
Aggiungi la seguente riga all'inizio del file:
auth required pam_google_authenticator.so
e salviamo il con Ctrl + X e poi S
Passo 6: Abilitare l'Autenticazione a Due Fattori per SSH
Modifica il file di configurazione SSH per richiedere l'autenticazione a due fattori:
Assicurati che le seguenti direttive siano impostate come segue:
e salviamo con Ctrl + X e poi S.
sudo nano /etc/ssh/sshd_config
Assicurati che le seguenti direttive siano impostate come segue:
ChallengeResponseAuthentication yes AuthenticationMethods publickey,password publickey,keyboard-interactive
e salviamo con Ctrl + X e poi S.
Passo 7: Riavvia il Servizio SSH
Riavvia il servizio SSH per applicare le modifiche:
Passo 8: Testare l'Autenticazione a Due Fattori
sudo systemctl restart sshd
Passo 8: Testare l'Autenticazione a Due Fattori
Prova a connetterti al tuo server tramite SSH per verificare che l'autenticazione a due fattori funzioni correttamente:
ssh tuo_utente@tuo_server
Dopo aver inserito la tua password, ti verrà richiesto di inserire il codice generato dall'app Google Authenticator.
Conclusione
Ora hai configurato con successo l'autenticazione a due fattori con Google Authenticator su Ubuntu. Questo aggiunge un ulteriore livello di sicurezza al tuo sistema, proteggendolo da accessi non autorizzati.
Se hai domande o hai bisogno di ulteriore assistenza, fammi sapere