88

Is there a command I can use to verify the public key (id_rsa.pub), just the format only.

Sometimes I have added a new linebreak, sometimes the file missed the ssh-rsa prefix, so is there a command to validate with?

1 Answer 1

127

You can use ssh-keygen for this. Despite its name it can do many more things than generating keys:

dennis@lightning:~$ ssh-keygen -l -f .ssh/id_rsa.pub 
2048 68:df:b2:22:d8:43:5d:36:75:c1:d8:59:c0:8c:22:e8  Dennis Kaarsemaker (RSA)
dennis@lightning:~$ ssh-keygen -l -f foo.txt
foo.txt is not a public key file.
7
  • So I have to have the fingerprint beforehand to validate the public key? Jan 16, 2017 at 5:13
  • 1
    @QuaziIrfan no, you do not need the fingerprint beforehand. The returncode of ssh-keygen will tell you whether it's valid or not.
    – vidstige
    Oct 6, 2017 at 8:33
  • 2
    Does not work for keys with passwords :-(
    – vidstige
    Oct 6, 2017 at 8:33
  • 3
    Note that this also works on a file containing multiple keys, such as ~/.ssh/authorized_keys.
    – slhck
    Nov 20, 2018 at 9:53
  • @QuaziIrfan the fingerprint is the output of the "ssh-keygen -l" output, which is to show fingerprint of the given pub/pri key file
    – Devy
    Apr 18, 2019 at 18:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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