23

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 follows:

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.

What is the solution to this? 

Paulo Boaventura
  • 1,365
  • 1
  • 9
  • 29
Yu Xiong
  • 343
  • 2
  • 5
  • 13

8 Answers8

34

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.

Kevin Burdett
  • 2,892
  • 1
  • 12
  • 19
13

Simply follow these 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 can I add the SSH key to the GitHub account?

  • Login to the GitHub account

  • Click on the rancher on the top right (Settings)

    GitHub account settings

  • Click on the SSH keys

    SSH key section

  • Click on the Add SSH key

    Add SSH key

  • Paste your key and save

And you are all set to go :-)

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
CodeWizard
  • 128,036
  • 21
  • 144
  • 167
  • 3
    Easy way to grab this key to copy/paste into GitHub is using their suggested: `clip < ~/.ssh/id_rsa.pub` command – MattMakes Feb 18 '18 at 15:24
  • 4
    For those of us who make things harder than they have to be, also ensure that you are using the text from the .pub file. – JDennis Jul 15 '18 at 06:00
  • 1
    https://help.github.com/en/enterprise/2.15/user/articles/adding-a-new-ssh-key-to-your-github-account – Andrew Bringaze Jan 13 '20 at 18:47
5

If you are using a Mac and are 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.

I hope that saves you some time.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
bgerd
  • 223
  • 2
  • 11
2

Open file ~/.ssh/id_rsa.pub. Then open it with an editor and copy the public key to your GitHub account.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
shawlang
  • 21
  • 3
2

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

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
sent-hil
  • 18,635
  • 16
  • 56
  • 74
2

Another way to copy the public key to the clipboard:

clip < ~/.ssh/id_rsa.pub
Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Tin Torres
  • 221
  • 3
  • 3
1

Add SSH key to Github

Check if you have a key?

ssh-add -l

If not? then follow steps to generate key

ssh-keygen -t rsa -b 4096 -C your__gmail

Now for copy the key use xclip tool or just goto file and copy

sudo apt install xclip
xclip -sel clip < ~/.ssh/id_rsa.pub
  • Now goto github.com and goto settings
  • select SSH and GPG keys
  • New SSH key
  • Enter "your__choice__name" in title field...
  • Paste your public key into the Key field
  • Click Add SSH key
borchvm
  • 3,533
  • 16
  • 44
  • 45
0

For IntelliJ IDE,

Go to IntelliJ IDEA -> Preferences... enter image description here

Dharman
  • 30,962
  • 25
  • 85
  • 135
turong
  • 1,474
  • 9
  • 14