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
the Repository not found
error.
If you run into this (or any other git
problem that seems SSH-related), you
can force 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.