Come generare una coppia di chiavi SSH (con esempi)
Scopri come generare una coppia di chiavi SSH sul tuo computer, che potrai quindi utilizzare per autenticare la tua connessione a un server remoto.
L'autenticazione tramite password è il metodo predefinito utilizzato dalla maggior parte dei client SSH per autenticarsi con server remoti, ma soffre di potenziali vulnerabilità della sicurezza come i tentativi di accesso a forza bruta.
Un'alternativa all'autenticazione tramite password è l'utilizzo dell'autenticazione con una coppia di chiavi SSH, in cui generi una chiave SSH e la memorizzi sul tuo computer.
Le chiavi SSH rappresentano un modo semplice per identificare i computer attendibili senza coinvolgere le password. Sono ampiamente utilizzati dagli amministratori di rete e di sistema per controllare i server da remoto.
Pertanto, l'autenticazione con chiave SSH è più sicura dell'autenticazione con password e probabilmente più conveniente.
Il concetto centrale è che al posto della password si utilizza un file chiave che è praticamente impossibile da indovinare. Fornisci la parte pubblica della tua chiave e, al momento dell'accesso, questa verrà utilizzata, insieme alla chiave privata e al nome utente, per verificare la tua identità.
I passaggi seguenti ti mostreranno come generare una coppia di chiavi SSH e aggiungere la chiave pubblica al server.
Come generare una coppia di chiavi SSH su Linux
Quando generi chiavi SSH in Linux, puoi utilizzare il comando ssh-keygen
. È uno strumento per creare nuove coppie di chiavi di autenticazione per SSH.
Per generare una coppia di chiavi SSH, apri il terminale e digita il seguente comando:
ssh-keygen -t rsa
Basta premere Invio quando viene richiesto il file, la passphrase o la stessa passphrase. Per impostazione predefinita, il comando genera una coppia di chiavi nella directory ~/.ssh
.
Ora hai due file:
id_rsa
id_rsa.pub
(Chiave privata). La chiave privata è archiviata sul tuo computer locale e deve essere mantenuta sicura, con le autorizzazioni impostate in modo che nessun altro utente sul tuo computer possa leggere il file.
(Chiave pubblica). La chiave pubblica deve essere posizionata sul server a cui intendi accedere. Puoi condividere liberamente la tua chiave pubblica con altri.
ls -l /home/linuxiac/.ssh/
drwx------ 2 linuxiac linuxiac 4096 Jul 16 18:31 .
drwxr-xr-x 4 linuxiac linuxiac 4096 Jul 16 18:31 ..
-rw------- 1 linuxiac linuxiac 2610 Jul 16 18:31 id_rsa
-rw-r--r-- 1 linuxiac linuxiac 576 Jul 16 18:31 id_rsa.pub
Puoi posizionare la chiave pubblica su qualsiasi server e quindi connetterti al server utilizzando ssh
. Quando le chiavi pubblica e privata corrispondono, il server SSH concede l'accesso senza la necessità di una password.
Se non sei sicuro di come farlo, ti consiglio di consultare la nostra guida breve e facile da seguire, "Come impostare l'accesso SSH senza password".
Puoi generare una chiave SSH ancora più grande con l'opzione -b
per una maggiore sicurezza.
Il flag -b
indica a ssh-keygen
di aumentare il numero di bit utilizzati per creare la coppia di chiavi ed è suggerito per una maggiore sicurezza. Ad esempio, per 4096 bit, esegui:
ssh-keygen -t rsa -b 4096
Conclusione
In questo articolo hai imparato come generare coppie di chiavi SSH utilizzando ssh-keygen
. Le chiavi SSH presentano numerosi vantaggi rispetto alle password:
- Maggiore sicurezza: sono quasi impossibili da indovinare o con la forza bruta.
- Facilità di gestione: non sarà più necessario creare e modificare password casuali.
- Attività automatizzate: poiché non è necessario digitare la password ogni volta, è più semplice automatizzare le attività che richiedono SSH.
Per ulteriori informazioni sul comando ssh-keygen
in Linux, consulta la relativa pagina del manuale.
Correlato: SSH su porte diverse dalla 22: come farlo (con esempi)
Sentiti libero di lasciare un commento se hai domande.