git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Trying to use insteadOf trick to use different SSH keys for separate github accounts - not working

From
AQAsfand Qazi <ayqazi@gmail.com>
Date
Dec 16, 2017, 07:50 UTC
Message-ID
<CAFTSPUV1E+jCMHzx+rq9Y1agthxcYrzDVY-rThTNCG7BfnPeTg@mail.gmail.com>
Hello,
Here's what I'm trying to do, that i need your help with to make work:

I have 2 github accounts, each with their own SSH key: my home account (default SSH key) and my work account (alternative SSH key). I can create a virtual hostname in my ~/.ssh/config like so:

Host work.github.com
     Hostname github.com
     IdentityFile ~/.ssh/id_rsa-work
and then clone repos with:
git clone git@work.github.com/MyCompany/la-repo.git

However, I'm trying to use Go, which needs to access every repo host as 'github.com', and won't support my little SSH hostname trick by default.

I found out about the 'insteadOf' setting, and thought it would work. So I added this to my global git config:

[url "git@github.com:MyCompany/"] insteadOf = git@work.github.com:MyCompany/

and left the SSH hostname setting where it was. Then I tried doing:
git clone git:github.com/MyCompany/la-repo.git
But it won't work. With GIT_TRACE=2, I get:
$ GIT_TRACE=2 git clone git@github.com:MyCompany/la-repo.git
07:46:27.627557 git.c:344               trace: built-in: git 'clone'
'git@github.com:MyCompany/la-repo.git'
Cloning into 'la-repo'...
07:46:27.629623 run-command.c:626       trace: run_command: 'ssh'
'git@github.com' 'git-upload-pack '\''MyCompany/la-repo.git'\'''
ERROR: Repository not found.
fatal: Could not read from remote repository.

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

Can anyone help me with this?
Thanks
Regards,
     Asfand
Next: Jeff King
Message 1 of 3 in “Trying to use insteadOf trick to use different SSH keys for separate github accounts - not working”
  1. Asfand QaziDec 16, 2017
  2. Jeff KingDec 16, 2017
  3. Asfand QaziDec 16, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.