For work, I need a personal GitHub account in addition to my Enterprise Managed User (EMU) account. After updating my SSH keys the other day, I realized I had inadvertently locked myself out of using my personal account on my work laptop.
Here's what that looked like:
$ git pull ERROR: Repository not found. fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
What's happening here is that
ssh is sending one of my work keys first, so
GitHub happily authenticates me as my work account. EMUs don't have access outside
of their enterprise, or really even understand there is an "outside", so we get
Repository not found error.
If you run into this (or any other
git problem that seems SSH-related), you
ssh to be more verbose like this:
GIT_SSH_COMMAND="ssh -vvv" git fetch.
Based on one of the answers on StackOverflow, I ran this command in each of my personal GitHub account repos to make sure I was coming over as slaptijack:
git config core.sshCommand "ssh -i ~/.ssh/id_ed25519-slaptijack -o IdentitiesOnly=yes"
Since this doesn't have the
--global flag, the change is
only applied in that repo.