60

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?

88

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.
  • So I have to have the fingerprint beforehand to validate the public key? – Quazi Irfan Jan 16 '17 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 '17 at 8:33
  • 1
    Does not work for keys with passwords :-( – vidstige Oct 6 '17 at 8:33
  • 2
    Note that this also works on a file containing multiple keys, such as ~/.ssh/authorized_keys. – slhck Nov 20 '18 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 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.