GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come configurare le chiavi SSH su Ubuntu 20.04

Secure Shell (SSH) è un protocollo di rete per la creazione di una connessione sicura tra un client e un server. Con SSH puoi eseguire comandi su macchine remote, creare tunnel, inoltrare porte e altro.

SSH supporta vari meccanismi di autenticazione. I due più comuni sono l'autenticazione basata su password e chiave pubblica.

L'autenticazione tramite chiave pubblica si basa sull'uso di firme digitali ed è più sicura e conveniente rispetto all'autenticazione tramite password tradizionale.

Questo articolo spiega come generare chiavi SSH sui sistemi Ubuntu 20.04. Ti mostreremo anche come configurare un'autenticazione basata su chiave SSH e connetterti a server Linux remoti senza inserire una password.

Creazione di chiavi SSH su Ubuntu #

È probabile che tu abbia già una coppia di chiavi SSH sul tuo computer client Ubuntu. Se generi una nuova coppia di chiavi, quella vecchia verrà sovrascritta. Per verificare se i file chiave esistono, esegui i seguenti ls comando:

ls -l ~/.ssh/id_*.pub

Se il comando restituisce qualcosa come No such file or directory o no matches found , significa che l'utente non dispone di chiavi SSH e puoi procedere con il passaggio successivo e generare una coppia di chiavi SSH. Altrimenti, se disponi di una coppia di chiavi SSH, puoi sia quelle esistenti sia eseguire il backup delle vecchie chiavi e generare una nuova coppia.

Per generare una nuova coppia di chiavi SSH a 4096 bit con il tuo indirizzo email come commento, esegui:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Ti verrà chiesto di specificare il nome del file:

Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

La posizione e il nome del file predefiniti dovrebbero andare bene per la maggior parte degli utenti. Premi Enter accettare e continuare.

Successivamente, ti verrà chiesto di digitare una passphrase sicura. Una passphrase aggiunge un ulteriore livello di sicurezza. Se imposti una passphrase, ti verrà chiesto di inserirla ogni volta che usi la chiave per accedere alla macchina remota.

Se non vuoi impostare una passphrase, premi Enter .

Enter passphrase (empty for no passphrase):

L'intera interazione è simile a questa:

Per verificare che la tua nuova coppia di chiavi SSH sia stata generata, digita:

ls ~/.ssh/id_*
/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

Questo è tutto. Hai generato con successo una coppia di chiavi SSH sulla tua macchina client Ubuntu.

Copia la chiave pubblica sul server remoto #

Ora che hai una coppia di chiavi SSH, il passaggio successivo consiste nel copiare la chiave pubblica sul server remoto che desideri gestire.

Il modo più semplice e consigliato per copiare la chiave pubblica sul server è utilizzare ssh-copy-id attrezzo. Sulla tua macchina locale digita:

ssh-copy-id remote_username@server_ip_address

Ti verrà chiesto di inserire la password dell'utente remoto:

remote_username@server_ip_address's password:

Una volta autenticato l'utente, la chiave pubblica ~/.ssh/id_rsa.pub verrà aggiunto all'utente remoto ~/.ssh/authorized_keys file e la connessione verrà chiusa.

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'username@server_ip_address'"
and check to make sure that only the key(s) you wanted were added.

Se per qualche motivo il ssh-copy-id l'utilità non è disponibile sul tuo computer locale, usa il comando seguente per copiare la chiave pubblica:

cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Accedi al tuo server usando le chiavi SSH #

Dopo aver completato i passaggi precedenti, dovresti essere in grado di accedere al server remoto senza che ti venga richiesta una password.

Per testarlo, prova ad accedere al tuo server tramite SSH:

ssh remote_username@server_ip_address

Se non hai impostato una passphrase per la chiave privata, accederai immediatamente. In caso contrario, ti verrà chiesto di inserire la passphrase.

Disabilitazione dell'autenticazione con password SSH #

La disabilitazione dell'autenticazione della password aggiunge un ulteriore livello di sicurezza al tuo server.

Prima di disabilitare l'autenticazione della password SSH, assicurati di poter accedere al tuo server senza una password e che l'utente con cui stai effettuando l'accesso disponga dei privilegi sudo.

Accedi al tuo server remoto:

ssh sudo_user@server_ip_address

Apri il file di configurazione SSH con il tuo editor di testo:

sudo nano /etc/ssh/sshd_config

Cerca le seguenti direttive e modifica come segue:

/etc/ssh/sshd_config
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

Al termine, salva il file e riavvia il servizio SSH digitando:

sudo systemctl restart ssh

A questo punto l'autenticazione basata su password è disabilitata.


Ubuntu
  1. Come impostare le chiavi SSH

  2. Come configurare le chiavi SSH su Ubuntu 16.04

  3. Come configurare le chiavi SSH su Ubuntu 18.04

  4. Come configurare le chiavi SSH su Debian

  5. Come configurare le chiavi autorizzate SSH su Ubuntu

Come configurare le chiavi SSH su Debian 9

Come configurare le chiavi SSH su Debian 10

Come configurare le chiavi SSH – Sistema operativo Windows?

Come configurare la chiave SSH su un server Plesk

Come configurare le chiavi SSH su Debian 11 Linux

Come migliorare la sicurezza SSH su Ubuntu 18.04