Una chiave privata SSH generata da ssh-keygen
contiene una parte di chiave pubblica. Come posso recuperare questa chiave pubblica dalla chiave privata? Ho perso la mia chiave pubblica e devo inserire il contenuto di questa chiave pubblica nei server authorized_keys
file e non voglio creare una nuova coppia di chiavi.
In alternativa:come creo il id_rsa.pub
file da un id_rsa
file?
Migliore risposta
Ho trovato la risposta su Server Fault:Creare una chiave SSH pubblica dalla chiave privata?
L'opzione -y
restituisce la chiave pubblica:
ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub
Come nota a margine, il commento della chiave pubblica viene perso. Ho avuto un sito che richiedeva il commento (Launchpad?), quindi è necessario modificare ~/.ssh/id_rsa.pub
e aggiungi un commento alla prima riga con uno spazio tra il commento e i dati chiave. Di seguito viene mostrata una chiave pubblica di esempio troncata.
ssh-rsa AAAA..../VqDjtS5 [email protected]
Per le chiavi che sono state aggiunte all'agente SSH (un programma che viene eseguito in background ed evita la necessità di reinserire la passphrase del file di chiavi più e più volte), puoi usare ssh-add -L
comando per elencare le chiavi pubbliche per le chiavi che sono state aggiunte all'agente (tramite ssh-add -l
). Ciò è utile quando la chiave SSH è memorizzata su una smart card (e non è possibile accedere al file della chiave privata).