Questo processo è stato eseguito su Ubuntu 14.04 con il desktop Unity standard e il gestore di accesso LightDM, ma i principi sono gli stessi nella maggior parte delle distribuzioni e desktop Linux.
In precedenza ti abbiamo mostrato come richiedere Google Authenticator per l'accesso remoto tramite SSH e questo processo è simile. Questo non richiede l'app Google Authenticator, ma funziona con qualsiasi app compatibile che implementa lo schema di autenticazione TOTP, incluso Authy.
Installa il PAM di Google Authenticator
Come quando configuriamo questo per l'accesso SSH, dovremo prima installare il software appropriato PAM ("pluggable-authentication module"). PAM è un sistema che ci consente di collegare diversi tipi di metodi di autenticazione in un sistema Linux e di richiederli.
Su Ubuntu, il seguente comando installerà il PAM di Google Authenticator. Aprire una finestra di Terminale, digitare il comando seguente, premere Invio e fornire la password. Il sistema scaricherà il PAM dai repository software della tua distribuzione Linux e lo installerà:
sudo apt-get install libpam-google-authenticator
Come abbiamo detto prima, questa soluzione non dipende da "phoning home" per i server di Google. Implementa l'algoritmo TOTP standard e può essere utilizzato anche quando il tuo computer non ha accesso a Internet.
Crea le tue chiavi di autenticazione
Dovrai ora creare una chiave di autenticazione segreta e inserirla nell'app Google Authenticator (o simile) sul tuo telefono. Innanzitutto, accedi come account utente sul tuo sistema Linux. Aprire una finestra di terminale ed eseguire il google-autenticatore comando. genere y e segui le istruzioni qui. Questo creerà un file speciale nella directory dell'account utente corrente con le informazioni di Google Authenticator.
Assicurati di annotare i tuoi codici di emergenza, che puoi utilizzare per accedere se perdi il telefono.
Attiva l'autenticazione
Ecco dove le cose diventano un po 'discografiche. Quando abbiamo spiegato come abilitare l'accesso SSH a due fattori, lo abbiamo richiesto solo per gli accessi SSH. In questo modo è stato possibile accedere localmente se si è persa l'app di autenticazione o se qualcosa è andato storto.
Poiché abiliteremo l'autenticazione a due fattori per gli accessi locali, ci sono potenziali problemi qui. Se qualcosa va storto, potresti non essere in grado di accedere. Tenendolo a mente, ti guideremo attraverso l'abilitazione di questo solo per gli accessi grafici. Questo ti dà una via di fuga se ne hai bisogno.
Abilita Google Authenticator per accessi grafici su Ubuntu
È sempre possibile abilitare l'autenticazione in due passaggi solo per gli accessi grafici, saltando il requisito quando si accede dal prompt del testo. Ciò significa che è possibile passare facilmente a un terminale virtuale, effettuare il login e ripristinare le modifiche in modo che Gogole Authenciator non sia richiesto in caso di problemi.
Certo, questo apre un buco nel tuo sistema di autenticazione, ma un utente malintenzionato con accesso fisico al tuo sistema può già sfruttarlo comunque. Ecco perché l'autenticazione a due fattori è particolarmente efficace per gli accessi remoti via SSH.
Ecco come farlo per Ubuntu, che usa il gestore di accesso LightDM. Apri il file LightDM per modificarlo con un comando simile al seguente:
sudo gedit /etc/pam.d/lightdm
(Ricorda, questi passaggi specifici funzioneranno solo se la tua distribuzione Linux e il tuo desktop utilizzano il gestore di accesso LightDM.)
auth required pam_google_authenticator.so nullok
Il bit "nullok" alla fine dice al sistema di consentire a un utente di accedere anche se non ha eseguito il comando google-authenticator per impostare l'autenticazione a due fattori. Se lo hanno configurato, dovranno inserire un codice time-baesd, altrimenti non lo faranno. Rimuovi il "nullok" e gli account utente che non hanno impostato un codice di Google Authenticator non saranno in grado di accedere graficamente.
Se si utilizza la crittografia della home directory
Le versioni precedenti di Ubuntu offrivano una semplice opzione di "crittografia della cartella home" che codificava l'intera home directory fino a quando non si immette la password. In particolare, questo utilizza ecryptfs. Tuttavia, poiché il software PAM dipende da un file di Google Authenticator memorizzato nella directory home per impostazione predefinita, la crittografia interferisce con il PAM leggendo il file a meno che non si accerti che sia disponibile in forma non crittografata al sistema prima di accedere. Consulta README per ulteriori informazioni informazioni su come evitare questo problema se stai ancora utilizzando le opzioni di crittografia della directory home deprecate.
Le versioni moderne di Ubuntu offrono invece la crittografia full-disk, che funzionerà bene con le opzioni di cui sopra. Non devi fare niente di speciale
Aiuto, è rotto!
Perché abbiamo appena abilitato questo per gli accessi grafici, dovrebbe essere facile da disabilitare se causa un problema. Premi una combinazione di tasti come Ctrl + Alt + F2 per accedere a un terminale virtuale e accedi con il tuo nome utente e password. È quindi possibile utilizzare un comando come sudo nano /etc/pam.d/lightdm per aprire il file per la modifica in un editor di testo terminale. Usa la nostra guida su Nano per rimuovere la linea e salvare il file, e sarai in grado di accedere di nuovo normalmente.
Ulteriore documentazione su come utilizzare e configurare questo modulo PAM è disponibile nel file README del software su GitHub.