THREATHUNTING.IT / Tutorial

ssh-keygen: creare e verificare una chiave SSH senza rischiare quelle esistenti

Dalla coppia pubblica e privata alla fingerprint: una guida sicura per generare una chiave dedicata e controllarla.

LivelloEasy ssh-keygen: creare e verificare una chiave SSH senza rischiare quelle esistenti

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"
Opzioni usate nell’esempio
OpzioneSignificato
-t ed25519Sceglie il tipo di chiave.
-f FILEIndica esplicitamente il percorso della nuova chiave.
-C COMMENTOAggiunge 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.pub

Il 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.

VALUTAZIONE DEI LETTORI

Questo articolo ti è stato utile?

Punteggio 0 · 0 positivi, 0 negativi

Vedi gli articoli più apprezzati →

REVISIONE TECNICA

Redazione ThreatHunting.it

Revisionato il .

Come lavoriamo →

COMMUNITY

Commenti 0

Non ci sono ancora commenti. Puoi iniziare tu la conversazione.

Scrivi un commento +
Non sarà pubblicata.
I commenti vengono pubblicati dopo la moderazione.

PRIVACY / LE TUE SCELTE

Cookie e statistiche

Usiamo cookie necessari per accesso, sicurezza e memorizzazione delle preferenze. Solo con il tuo consenso raccogliamo statistiche sulle pagine visitate, paese, dispositivo, browser e provenienza, con un identificatore pseudonimo giornaliero. Il consenso abilita anche Google Analytics 4, descritto nell’informativa. Nessuna pubblicità o profilazione commerciale.

Puoi rifiutare le statistiche e continuare a usare il sito. Leggi l’informativa privacy e cookie e modifica la scelta in qualsiasi momento.