GitHub error "repository not found" using ssh

  • Posted on: 22 July 2021
  • By: agittins

Yesterday (2021-07-21) I started having a problem with using git against some of my private github repositories. Trying to fetch updates would look like this:

$ git fetch upstream
ERROR: Repository not found.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

It turns out this was caused by my using an old 2048-bit rsa key for SSH. Perhaps github are rolling this change out across all private repos. You can create a new 4096-byte key with the command:

$ ssh-keygen -b 4096 -t rsa -C "This is my new key" -f ~/.ssh/id_rsa_4k

(replace the comment and perhaps the key filename to suit).

You probably don't want to overwrite your old key in case you still need it for accessing other systems (although it would be wise to update them with your new key for safety). If you do use a different filename you might want to configure ssh to specifically use that key (and only that key) for github. You can do with with an entry like this in ~/.ssh/config:

    IdentitiesOnly yes
    IdentityFile ~/.ssh/id_rsa_4k

(again, using whatever filename you used for the key).

Don't forget to upload the public key to github so that it recognises it!

It's worth noting that if you remove the old key from github you probably won't have to add the "IdentitiesOnly" flag, and if you replace your old key entirely you won't need to have a config entry at all.


Add new comment

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.