GNU/Linux >> Linux Esercitazione >  >> Panels >> Panels

Configura l'autenticazione a più fattori per SSH su Ubuntu 20.04

SSH è un "Secure Shell Protocol" utilizzato per connettere e gestire sistemi Linux remoti in modo sicuro su una rete non protetta. È molto utile per gli amministratori di sistema eseguire attività quotidiane sul server remoto. Quindi la protezione di un server SSH è una parte essenziale di qualsiasi amministratore di sistema.

Per impostazione predefinita, puoi connetterti a SSH con una password o utilizzando la chiave privata. Ciò significa che è solo un'autenticazione a fattore singolo. Quindi è una buona idea implementare l'autenticazione a più fattori nel server SSH per aggiungere un ulteriore livello di sicurezza. Nell'autenticazione a più fattori, dovrai fornire la tua password utente di sistema e un'altra password generata su un dispositivo mobile. Ciò migliorerà notevolmente la sicurezza del tuo server.

In questo tutorial, ti mostreremo come configurare l'autenticazione a più fattori per SSH su Ubuntu 20.04 VPS.

Prerequisiti

  • Un Ubuntu 20.04 VPS (useremo il nostro piano SSD 2 VPS)
  • Accesso all'account utente root (o accesso a un account amministratore con privilegi root)

Passaggio 1:accedi al server e aggiorna i pacchetti del sistema operativo del server

Innanzitutto, accedi al tuo server Ubuntu 20.04 tramite SSH come utente root:

ssh root@IP_Address -p Port_number

Dovrai sostituire "IP_Address" e "Port_number" con il rispettivo indirizzo IP e numero di porta SSH del tuo server. Inoltre, se necessario, sostituisci "root" con il nome utente dell'account amministratore.

Prima di iniziare, devi assicurarti che tutti i pacchetti del sistema operativo Ubuntu installati sul server siano aggiornati. Puoi farlo eseguendo i seguenti comandi:

apt-get update -y
apt-get upgrade -y

Passaggio 2:installa Google Authenticator

Utilizzeremo Google Authenticator per l'autenticazione a più fattori. Quindi, dovrai installare il modulo PAM di Google Authenticator sul tuo sistema. Puoi installarlo eseguendo il seguente comando:

apt-get install libpam-google-authenticator -y

Una volta installato il pacchetto, esegui Google Authenticator utilizzando il seguente comando:

google-authenticator

Durante l'installazione, ti verrà posta la seguente domanda:

Do you want authentication tokens to be time-based (y/n) y
Warning: pasting the following URL into your browser exposes the OTP secret to Google:
  https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/root@ubuntu2004%3Fsecret%3D4XXQ2QA6FRV72SDM2JWSZTQJE4%26issuer%3D

Premi y e premi Invio continuare. Dovresti vedere un codice QR nella schermata seguente:

Rispondi a tutte le domande e premi Invio per completare il processo come mostrato di seguito:

Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) y

By default, a new token is generated every 30 seconds by the mobile app.
In order to compensate for possible time-skew between the client and the server,
we allow an extra token before and after the current time. This allows for a
time skew of up to 30 seconds between authentication server and client. If you
experience problems with poor time synchronization, you can increase the window
from its default size of 3 permitted codes (one previous code, the current
code, the next code) to 17 permitted codes (the 8 previous codes, the current
code, and the 8 next codes). This will permit for a time skew of up to 4 minutes
between client and server.
Do you want to do so? (y/n) y

If the computer that you are logging into isn't hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting? (y/n) If the computer that you are logging into isn't hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting? (y/n) y

Passaggio 3:installa l'applicazione Google Authenticator

Successivamente, dovrai installare l'applicazione Google Authenticator sul tuo smartphone. Una volta installato, apri Google Authenticator sul tuo telefonino e scansiona il codice QR sopra. Una volta scansionato il codice QR, dovresti vedere una password monouso di sei cifre sul tuo telefono come mostrato di seguito:

Questa password scadrà entro 30 secondi, quindi dovrai aprire l'applicazione Google Authenticator e vedere una nuova password per accedere al server Ubuntu tramite SSH.

Puoi anche vedere la chiave segreta, il codice di verifica e il codice scratch di emergenza nell'output sopra. Si consiglia di salvarlo in un luogo sicuro per un uso successivo.

Your new secret key is: 4XXQ2QA6FRV72SDM2JWSZTQJE4
Your verification code is 423832
Your emergency scratch codes are:
  96469497
  84504151
  61871048
  79931657
  71052210

Passaggio 4:configura SSH per utilizzare Google Authenticator

Successivamente, dovrai anche configurare SSH per utilizzare Google Authenticator. Puoi configurarlo modificando il file /etc/ssh/sshd_config:

nano /etc/ssh/sshd_config

Modifica le seguenti righe:

UsePAM yes
ChallengeResponseAuthentication yes

Salva e chiudi il file quando hai finito. Quindi, riavvia il servizio SSH per applicare la configurazione:

systemctl restart sshd

Successivamente, dovrai modificare il file /etc/pam.d/sshd e definire le regole PAM per il servizio SSH:

nano /etc/pam.d/sshd

Aggiungi la riga seguente dopo @include common-auth :

auth required pam_google_authenticator.so

Salva e chiudi il file.

Passaggio:5 verifica dell'autenticazione a due fattori

A questo punto, il tuo server SSH è ora configurato con l'autenticazione a più fattori. È ora di collegarlo e testarlo.

Sul sistema remoto, apri il tuo terminale e accedi al tuo server tramite SSH come mostrato di seguito:

ssh root@ssh-server-ip

Ti verrà chiesto di fornire la password di sistema e il codice di verifica generato da Google Authenticator. Fornisci la password di sistema mostrata nell'app Google Authenticator e premi Invio per accedere al server come mostrato di seguito:

Congratulazioni! il tuo server SSH è ora protetto con l'autenticazione a più fattori..

Ovviamente, non devi configurare l'autenticazione a più fattori per SSH su Ubuntu VPS se utilizzi uno dei nostri servizi di hosting gestito, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di configurare l'autenticazione a più fattori per SSH su Ubuntu, per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta.

PS. Se ti è piaciuto questo post su come impostare l'autenticazione a più fattori per SSH su Ubuntu, condividilo con i tuoi amici sui social network usando i pulsanti a sinistra o lascia semplicemente una risposta qui sotto. Grazie.


Panels
  1. Un semplice script BASH per l'installazione successiva di Ubuntu Server

  2. Come configurare WireGuard su Ubuntu 22.04

  3. Come installare e configurare il server sftp in Ubuntu 20.04

  4. Come configurare le chiavi SSH su Ubuntu 16.04

  5. Server Ubuntu per manichini

Come impostare l'autenticazione a più fattori per SSH in Linux

Configura l'autenticazione a due fattori SSH (2FA) su Ubuntu Server

Come configurare l'autenticazione a due fattori SSH su Ubuntu 16.04 con Google Authenticator

Come configurare Tegola Vector Tile Server su Ubuntu 20.04 per OpenStreetMap

Come abilitare il server SSH su Ubuntu 22.04

Graylog Monitoring Server su Ubuntu Linux per Monitoring Server/Services