97

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

140

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
  • 2
    @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
  • 3
    Does not work for keys with passwords :-(
    – vidstige
    Oct 6, 2017 at 8:33
  • 4
    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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .