Autenticazione della chiave pubblica SSH su Linux

Autenticazione della chiave pubblica SSH su Linux

Questo tutorial spiega come utilizzare l'autenticazione della chiave pubblica SSH anziché il metodo di accesso password più utilizzato.

Dopo aver letto questo tutorial, saprai come configurare l'accesso SSH utilizzando l'autenticazione chiave. Dopo le istruzioni pratiche, è possibile trovare informazioni sul processo di autenticazione chiave, vantaggi e svantaggi sull'autenticazione della password.

Configurazione dell'autenticazione della chiave SSH su Linux

Per iniziare, devi generare chiavi pubbliche e private. Le chiavi private e pubbliche sono generate contemporaneamente dallo stesso dispositivo e quindi condivise con dispositivi che si desidera consentire connessioni tra.

In questo esempio, genereremo chiavi di autenticazione da un client utilizzando il comando ssh-keygen, quindi invieremo la chiave pubblica al server per consentire connessioni tra di loro.

Per generare le chiavi, è necessario accedere come utente per connettersi. In questo tutorial, l'utente creato sia nel server che nel client è LinuxHint.

Dopo aver eseguito il comando ssh-keygen, il processo ti chiederà in quale file si desidera salvare il tasto, premere Invio per lasciare la posizione predefinita (~/.SSH/ID_RSA).

Ti verrà anche chiesto una passphrase per crittografare la chiave. Questo è consigliato ma la maggior parte dei dispositivi autenticati chiave non lo utilizza. È possibile digitare una passphrase e premere Invio, oppure puoi semplicemente premere Invio, lasciando il campo vuoto per evitare di crittografare il tasto.

Per generare chiavi sia pubbliche che private, eseguire il comando di seguito.

Nota: Nell'esempio seguente, puoi vedere nel mio caso ho già avuto l'autenticazione chiave e il processo mi chiede se voglio sovrascrivere la chiave precedente. Se non avevi una chiave precedente puoi ignorarla.

$ ssh-keygen

Come puoi, vedere le chiavi sono state generate correttamente.

Come spiegato in precedenza, dopo aver generato le chiavi dal client, è necessario inviare la chiave pubblica al server a cui si desidera essere in grado di connetterti. Per condividere la chiave pubblica con il server, è possibile utilizzare il comando SSH-Copy-ID seguito dal nome utente che si desidera connettere e l'indirizzo IP del server come mostrato di seguito.

$ ssh-copy-id [email protected]

La chiave era correttamente installata sul server. Ora puoi connetterti utilizzando SSH seguito dal nome utente e dall'indirizzo IP del server come mostrato di seguito.

$ ssh [email protected]

Nel mio caso, ho digitato una passphrase durante la generazione di chiavi. Pertanto, quando si tenta di accedere a una chiave, mi viene chiesto di digitare la passphrase. Se hai anche digitato una passphrase durante la generazione di tasti, riempire il campo e premere sblocca per connettersi.

Come puoi vedere nella seguente screenshot, la connessione è stata stabilita con successo.

Disabilitazione dell'autenticazione della password

Ora hai abilitato l'autenticazione della chiave pubblica SSH su Linux, è necessario disabilitare il metodo di autenticazione password. Per raggiungerlo, è necessario modificare il file di configurazione SSH/etc/ssh/sshd_config.

È possibile utilizzare il seguente comando per modificare/etc/ssh/sshd_config utilizzando nano text editor.

$ sudo nano/etc/ssh/sshd_config

Trova la riga contenente passwordautenticazione Sì mostrato nello screenshot seguente.

Modifica la riga,

Passwordautenticazione Sì

Cambialo in:

Passwordautenticazione n

Salva ed esci dal file. Se hai usato Nano per modificare il file, è possibile premere Ctrl+X per uscire dal salvataggio delle modifiche.

Per applicare le modifiche, è necessario riavviare il servizio SSH. Per farlo, esegui il comando sotto.

$ sudo systemctl riavvio ssh

L'accesso alla password è disabilitato e puoi connetterti utilizzando l'autenticazione chiave.

Disabilitare l'accesso alla radice

Disabilitare l'accesso al root è anche un ottimo modo per aumentare la sicurezza del sistema. L'utente principale è universale e vulnerabile agli attacchi di forza bruta. In questo modo, puoi impedire a chiunque di forzare la radice o di accedere a distanza con i privilegi.

È possibile disabilitare l'accesso al root modificando lo stesso file/etc/ssh/sshd_config come mostrato di seguito.

$ nano/etc/ssh/sshd_config

Trova la linea che contiene Permistrootlogin Sì, mostrato di seguito.

Modifica la seguente riga:

Per altirootlogin Sì

Cambialo in:

Permistrootlogin n

Esci dal risparmio delle modifiche premendo Ctrl+X.

Riavvia il servizio SSH:

$ sudo systemctl riavvio ssh

Il tuo accesso al root è disabilitato.

Password vs Metodi di autenticazione chiave

Come puoi vedere, il processo di autenticazione chiave è facile da implementare. Quando si accede al server a cui si desidera connettersi, la chiave privata rimane al sicuro nel sistema e non viene inviata al server. Invece, il server invia la sua chiave pubblica al client in cui si svolge l'autenticazione.

Ci sono ragioni per cui alcuni utenti optano per l'autenticazione chiave e altri per l'accesso alla password.

Alcuni utenti sceglieranno un metodo di autenticazione chiave perché genera automaticamente chiavi che sono più forti delle password create dall'uomo. Inoltre, le chiavi private non vengono consegnate al server. Non sono vulnerabili agli attacchi man-in-the-middle. Quando si utilizza l'autenticazione chiave, solo i dispositivi con la chiave privata possono connettersi, aumentando la sicurezza.

D'altra parte, alcuni utenti sceglieranno l'accesso alla password perché sono autorizzati a connettersi da qualsiasi dispositivo. Le credenziali della password sono anche più facili da distribuire se si dispone di molti utenti da amministrazione.

Conclusione

Come puoi vedere, aumentare la sicurezza del sistema sostituendo l'accesso alla password con l'autenticazione chiave è un processo molto abbastanza semplice che include alcuni comandi per generare la chiave e condividerla. Inoltre, la disabilitazione dell'autenticazione della password richiede solo la sostituzione di un sì con un No nel file di configurazione SSH e il riavvio del servizio. Altri metodi per aumentare la sicurezza SSH possono essere appresi in tutorial di autenticazione Disabilita SSH e Linux a due fattori.

Spero che questo tutorial che spieghi come usare l'autenticazione della chiave pubblica SSH su Linux sia stata utile.