9

I want to verify that my SSH key in github matches the local file on my computer.

enter image description here

The github key seems to be SHA256, encoded in base64, but my local key, encoded with this command doesn't seem to match it.

$ cat ~/.ssh/github.pub | sha256sum | base64

Is there a better way to achieve what I'm trying to do?

3 Answers 3

10

A simple way to test that they match is by authenticating by ssh in the command line.

After setting up your ssh-key, type:

ssh -T [email protected]

https://docs.github.com/en/authentication/connecting-to-github-with-ssh/testing-your-ssh-connection

Sign up to request clarification or add additional context in comments.

2 Comments

This checks all the keys in the key agent, not just the specified one.
Will check ~/.ssh/id_rsa instead of the ~/.ssh/github as in the question
6

An SSH public key in OpenSSH format contains two or three parts, separated by spaces:

  • The algorithm name.
  • A base64-encoded SSH public key in protocol format.
  • An optional comment.

The fingerprint of an SSH key is the base64-encoded SHA-256 hash of the raw public key (that is, without the base64 encoding). You can script this, but fortunately, there's an easy way to find it out using ssh-keygen:

$ ssh-keygen -l -f ~/.ssh/id_ed25519.pub

You can change the file name for the public key to the appropriate one on your system. On my system, the output looks like this:

256 SHA256:E59Xzh/fsZKkCEL46kTLbPFGXyIodA+ntsQL0JWmq9Y bmc@camp (ED25519)

The fingerprint is the second piece.

Comments

3

This one will use only the key supplied in -i for auth:

ssh -i ~/.ssh/github -o IdentityAgent=none -T [email protected]

1 Comment

Thank you. This is what I was searching for. The option "-i"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.