Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Let's suppose I have a SSH key, but I've deleted the public key part. I have the private key part. Is there some way I can regenerate the public key part?

share|improve this question

1 Answer 1

up vote 109 down vote accepted

Use the -y option to ssh-keygen:

ssh-keygen -f ~/.ssh/id_rsa -y > ~/.ssh/id_rsa.pub

From the 'man ssh-keygen'

 -y      This option will read a private OpenSSH format file and print an
         OpenSSH public key to stdout.

Specify the private key with the -f option, yours might be dsa instead of rsa. The name of your private key probably contains which you used. The newly generated public key should be the same as the one you generated before.

share|improve this answer
Why the "-t dsa"? Mayge the OP's key is rsa? I'd get rid of -t and instead use a -f. –  innaM Aug 10 '09 at 14:44
Good point, updated accordingly –  Kyle Brandt Aug 10 '09 at 14:52
yeah mine originally was RSA. –  Rory Aug 10 '09 at 15:19
On Mac OSX 10.9.3 Mavericks I'm getting 'load failed' after running the command. How do I solve this? –  Hyperfocus Jun 8 '14 at 18:02
I think you might take this one step further with the -N parameter in case the private key is password protected: ssh-keygen -f ~/.ssh/id_rsa -y -N "$PASSWORD" > ~/.ssh/id_rsa.pub –  ken Oct 7 '14 at 12:28

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.