ssh-keygen crea e amministra le chiavi usate da OpenSSH. In questa lezione generiamo una coppia dedicata, distinguiamo con precisione chiave privata e pubblica e controlliamo la fingerprint prima di usarla.
Obiettivo e pubblico
Al termine saprai creare una chiave SSH senza sovrascrivere file esistenti e riconoscere i due elementi della coppia. La guida è pensata per chi conosce già file, directory e terminale.
Prerequisiti
- Un sistema Linux o Unix-like con il client OpenSSH installato.
- Accesso a un terminale come utente non privilegiato.
- Conoscenza di base di file, directory e percorsi nella home.
- Un ambiente personale o di laboratorio nel quale creare file di prova.
Uso autorizzato
Genera e installa credenziali soltanto per account e sistemi che amministri. Non condividere mai la chiave privata e non sostituire chiavi esistenti senza averne verificato utilizzo e recupero.
Chiave privata e chiave pubblica
Una coppia contiene due file collegati matematicamente. La chiave privata rimane sul computer dal quale ti connetti; la chiave pubblica può essere installata negli account remoti autorizzati.
~/.ssh/id_ed25519_linuxplus
~/.ssh/id_ed25519_linuxplus.pub
Il suffisso .pub identifica la parte pubblica. Una copia della chiave privata, invece, consentirebbe di tentare l’autenticazione come proprietario: va protetta con permessi adeguati e, per l’uso interattivo, con una passphrase robusta.
Sintassi essenziale
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_linuxplus -C "linuxplus-lab"
| Opzione | Significato |
|---|---|
-t ed25519 | Sceglie il tipo di chiave. |
-f FILE | Indica esplicitamente il percorso della nuova chiave. |
-C COMMENTO | Aggiunge un’etichetta utile per riconoscere la chiave. |
Prima di confermare il percorso, controlla che non esista:
test -e ~/.ssh/id_ed25519_linuxplus && echo "Il file esiste già"
Se il comando non stampa nulla, quel percorso non esiste. Questo controllo riduce il rischio di sovrascrivere una credenziale ancora necessaria.
Proteggere la chiave con una passphrase
ssh-keygen chiede una passphrase durante la creazione. La passphrase protegge la chiave privata memorizzata su disco; non viene inviata al server. Non inserirla in un comando, in uno script o in un file del progetto.
Dopo la creazione, verifica permessi e nomi:
ls -l ~/.ssh/id_ed25519_linuxplus*
La chiave privata deve essere leggibile soltanto dal proprietario. OpenSSH può rifiutare file privati accessibili ad altri utenti.
Leggere e confrontare la fingerprint
ssh-keygen -lf ~/.ssh/id_ed25519_linuxplus.pub
-l mostra la fingerprint e -f seleziona il file. La fingerprint è una rappresentazione compatta della chiave: è utile per confrontare inventari e confermare che stai distribuendo quella prevista.
Puoi ricavare la parte pubblica dalla privata senza creare una nuova coppia:
ssh-keygen -y -f ~/.ssh/id_ed25519_linuxplus
Questo comando stampa la chiave pubblica sul terminale. Non stampa la chiave privata, ma può richiedere la passphrase.
Errori comuni
- Accettare un nome predefinito senza controllare se esiste già.
- Inviare al server il file senza
.pub. - Confondere la passphrase locale con la password dell’account remoto.
- Copiare chiavi private in email, ticket, repository o sistemi remoti.
- Eliminare la vecchia chiave prima di aver verificato il nuovo accesso.
Glossario
- Chiave privata
- Segreto conservato sul computer locale e usato per dimostrare il possesso dell’identità. Non deve essere condiviso.
- Chiave pubblica
- Parte distribuibile della coppia, identificata normalmente dal suffisso
.pub. - Passphrase
- Frase segreta che protegge la chiave privata memorizzata sul disco.
- Fingerprint
- Rappresentazione compatta usata per identificare e confrontare una chiave.
Esercizio guidato
Crea nel tuo laboratorio una chiave Ed25519 chiamata id_ed25519_esercizio, con commento linuxplus-esercizio. Poi mostra la fingerprint del file pubblico.
Mostra una possibile soluzione
test ! -e ~/.ssh/id_ed25519_esercizio && \
ssh-keygen -t ed25519 \
-f ~/.ssh/id_ed25519_esercizio \
-C "linuxplus-esercizio"
ssh-keygen -lf ~/.ssh/id_ed25519_esercizio.pubIl primo controllo impedisce l’esecuzione della generazione quando il file privato esiste già.
Cosa ricordare
- La chiave privata resta locale; si distribuisce il file
.pub. - Un nome esplicito evita collisioni con identità esistenti.
- La fingerprint permette di identificare la chiave senza esporla.
Fonti essenziali
Fonte primaria verificata il 12 ottobre 2026.
COMMUNITY
Non ci sono ancora commenti. Puoi iniziare tu la conversazione.