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

Re: Use different ssh keys for different github repos (per-url sshCommand)

From
BIBasin Ilya <basinilya@gmail.com>
Date
Jul 19, 2018, 19:01 UTC
Message-ID
<966f577f-c4ca-46a4-d55d-817e84780324@gmail.com>
In-Reply-To
<20180719164251.GA4868@sigill.intra.peff.net>
Wow, thanks.
For me it was enough to configure just one rewrite, because my public github account is associated with my default key. Note that I added the missing slash and the username:
    git config --global \
      url.git@gh-org:theorganization/.insteadOf \
      git@github.com:theorganization/
19.07.2018 19:42, Jeff King пишет:
Show 36 quoted lines
> On Thu, Jul 19, 2018 at 03:24:54PM +0300, Basin Ilya wrote:
> 
>> I have two github accounts, one is for my organization and I want git
>> to automatically choose the correct ssh `IdentityFile` based on the
>> clone URL:
>>
>>     git@github.com:other/publicrepo.git
>>        ~/.ssh/id_rsa
>>     git@github.com:theorganization/privaterepo.git
>>        ~/.ssh/id_rsa.theorganization
>>
>> Unfortunately, both URLs have same host name, therefore I can't
>> configure this in the ssh client config. I could create a host alias
>> there, but sometimes somebody else gives me the github URL and I want
>> it to work out of the box.
> 
> I think you can hack around this using Git's URL rewriting.
> 
> For example, try this:
> 
>   git config --global \
>     url.gh-other:other/.insteadOf \
>     git@github.com:other/
> 
>   git config --global \
>     url.gh-org:theorganization.insteadOf \
>     git@github.com:theorganization/
> 
> And then:
> 
>   git clone git@github.com:other/publicrepo.git
> 
> will hit gh-other, which you can configure using an ssh host alias.
> 
> -Peff
> 
Previous: Jeff King
Message 7 of 7 in “Use different ssh keys for different github repos (per-url sshCommand)”
  1. Basin IlyaJul 19, 2018
  2. Ævar Arnfjörð BjarmasonJul 19, 2018
  3. Jeff KingJul 19, 2018
  4. Sitaram ChamartyJul 19, 2018
  5. Sitaram ChamartyJul 19, 2018
  6. Jeff KingJul 19, 2018
  7. Basin IlyaJul 19, 2018

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.