Issue on adding SSH key to GitHub

2019-01-19 11:22发布

问题:

I have got an issue that seems about the format of SSH key used by GitHub. I used Git Bash to generate a new SSH key

$ ssh-keygen -t rsa -C "youremail@youremail.com"

Then, I copied the key to the SSH section in settings of my GitHub account page. However, it came with the issue notice as follow

Key is invalid. It must begin with 'ssh-ed25519', 'ssh-rsa', 'ssh-dss', 'ecdsa-sha2-nistp256', 'ecdsa-sha2-nistp384', or 'ecdsa-sha2-nistp521'. Check that you're copying the public half of the key

Following that, I edited my SSH key starting with ssh-rsa and my email address at the end. However, the issue is still there.

Could anyone tell the solution about this? 

Thanks!

回答1:

Simply follow those steps and you will set up your ssh key in no time:

  • Generate a new ssh key (or skip this step if you already have a key)
    ssh-keygen -t rsa -C "your@email"

  • Once you have your key set in home/.ssh directory (or Users/<your user>.ssh under windows), open it and copy the content


How to add sh key to github account?

  • Login to github account
  • Click on the rancher on the top right (Settings)
  • Click on the SSH keys
  • Click on the Add ssh key
  • Paste your key and save

And you all set to go :-)



回答2:

ssh-keygen will generate you a pair of keys, one private and one public. It sounds like you uploaded the wrong one. GitHub wants the public key, typically here: ~/.ssh/id_rsa.pub.



回答3:

If you're using a mac and typing out github's instructions (e.g. Generating a new SSH key and adding it to the ssh-agent, you're probably typing and only tabbing (e.g. auto-completing) to:

$ pbcopy < ~/.ssh/id_rsa

and not

$ pbcopy < ~/.ssh/id_rsa.pub

With the former you're actually copying, and trying to paste your Private Key.

Hope that saves you some time.



回答4:

open ~/.ssh/id_rsa.pub, then open it with editor and copy the public key to your github



回答5:

I ran into the same problem and it turns out it was due to there being - in the comment. Github apparently doesn't like -, _ is ok though.



回答6:

Another way to copy the public key to clipboard

clip < ~/.ssh/id_rsa.pub