SSH – How to Recover Public Key from Private SSH Key

key-authenticationssh

I've somehow lost my id_rsa.pub file. I still have my id_rsa file. How do I recover the public key from the private key?

(This question came up after ssh-copy-id was reporting "ERROR: No identities found" while ssh-keygen reported "/root/.ssh/id_rsa already exists". ls ~/.ssh pointed out the problem was having id_rsa but not id_rsa.pub. I found the solution, but it was buried at the bottom of a long post on an Ubuntu support forum.)

Best Answer

You can generate the public key using ssh-keygen -y. If your private key is in the default location, you can use the following to put the public key in the same place:

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