Questo tutorial ti mostrerà come configurare l'autenticazione a due fattori SSH su server Ubuntu 16.04 utilizzando il noto Google Authenticator. Una volta configurato, la sicurezza del tuo server SSH aumenterà enormemente.
Come funziona Google Authenticator
L'autenticazione a due fattori, nota anche come verifica in due passaggi, richiede l'inserimento di due informazioni per accedere. Google Authenticator genera una password monouso utilizzando una chiave segreta condivisa e l'ora corrente. Non solo devi fornire il nome utente e la password corretti, ma devi anche inserire una password monouso generata da Google Authenticator per accedere al tuo server SSH.
Passaggio 1:installa e configura Google Authenticator sul server Ubuntu 16.04
Accedi al tuo server Ubuntu ed esegui il comando seguente per installare Google Authenticator dal repository di pacchetti Ubuntu predefinito.
sudo apt install libpam-google-authenticator
Quindi esegui google-authenticator
comando per creare una nuova chiave segreta nella tua home directory.
google-authenticator
Alla domanda "Vuoi che i token di autenticazione siano basati sul tempo?" Rispondi s . Quindi ti verrà mostrato un codice QR che puoi scansionare utilizzando Google Authenticator app per dispositivi mobili.
Installa l'app Google Authenticator tramite Google Play o l'App Store di Apple sul tuo cellulare e scansiona il codice QR. Il codice QR rappresenta la chiave segreta, conosciuta solo dal tuo server SSH e dalla tua app Google Authenticator. Una volta scansionato il codice QR, puoi vedere una password monouso a sei cifre sul tuo telefono. Di default dura 30 secondi.
Puoi vedere la chiave segreta, il codice di verifica e il codice scratch di emergenza nella finestra del terminale. Si consiglia di salvare queste informazioni in un luogo sicuro per un uso successivo.
Quindi puoi inserire y per rispondere a tutte le restanti domande. Questo aggiornerà il file di configurazione di Google Authenticator, disabiliterà più utilizzi dello stesso token di autenticazione, aumenterà la finestra temporale e abiliterà la limitazione della velocità per proteggersi dai tentativi di accesso con forza bruta.
Passaggio 2:configura il demone SSH per l'utilizzo di Google Authenticator
Apri il file di configurazione del server SSH.
sudo nano /etc/ssh/sshd_config
PAM sta per modulo di autenticazione collegabile. Fornisce un modo semplice per collegare diversi metodi di autenticazione al tuo sistema Linux. Per abilitare Google Authenticator con SSH, è necessario abilitare l'autenticazione PAM e Challenge-Response. Quindi trova le seguenti due righe nel file e assicurati che entrambe siano impostate su yes .
UsePAM yes ChallengeResponseAuthentication yes
Salva e chiudi il file. Quindi riavvia il demone SSH.
sudo systemctl restart ssh
Quindi, modifica il file della regola PAM per il demone SSH.
sudo nano /etc/pam.d/sshd
Aggiungi la seguente voce alla fine del file.
auth required pam_google_authenticator.so
Salva e chiudi il file. D'ora in poi il demone SSH utilizzerà Google Authenticator.
Fase 3:verifica la tua autenticazione a due fattori SSH
Ora apri una finestra di terminale separata e prova ad accedere al tuo server SSH. Non chiudere la sessione SSH corrente. Se qualcosa va storto, puoi risolverlo nella tua sessione SSH corrente. Se tutto è impostato correttamente, ti verrà chiesto di inserire sia la password utente che la password monouso.
Tieni inoltre presente che ogni utente sul tuo server Ubuntu 16.04 deve eseguire google-authenticator
comanda e scansiona il codice QR per utilizzare l'autenticazione a due fattori.
Codice Scratch di emergenza
Il codice Scratch di emergenza è il tuo codice di backup. Se perdi il telefono, puoi inserire uno dei cinque codici scratch di emergenza invece di una password monouso per completare la verifica in due passaggi. Tieni presente che questi codici sono monouso.
Utilizzo di un secondo telefono
Se hai un secondo telefono, puoi installare l'app Google Authenticator sul tuo secondo telefono e inserire manualmente la chiave segreta. È lo stesso della scansione del codice QR.
Se vuoi cambiare la chiave segreta, accedi semplicemente al tuo server ed esegui google-authenticator
comando di nuovo per aggiornare il ~/.google_authenticator
file.
Sincronizzazione dell'ora
Poiché la password monouso viene calcolata utilizzando la chiave segreta condivisa e l'ora corrente, è una buona idea abilitare la sincronizzazione dell'ora NTP sul server Ubuntu 16.04.
Spero che questo tutorial ti abbia aiutato a configurare l'autenticazione a due fattori SSH sul server Ubuntu 16.04. Come sempre, se hai trovato utile questo post, iscriviti alla nostra newsletter gratuita.