All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Basin Ilya <basinilya@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: Use different ssh keys for different github repos (per-url sshCommand)
Date: Thu, 19 Jul 2018 14:50:16 +0200	[thread overview]
Message-ID: <87zhynbd9z.fsf@evledraar.gmail.com> (raw)
In-Reply-To: <44d3c280-3fb2-2415-46b7-343983e76e0b@gmail.com>


On Thu, Jul 19 2018, Basin Ilya wrote:

> Hi.
>
> 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 thought I could add a per-URL `core` section similar to `user` and `http`, but this section is ignored by git (2.18):
>
>     [core "git@github.com:theorganization"]
>         sshCommand = /bin/false
>         #sshCommand = ssh -i ~/.ssh/id_rsa.theorganization
>
> I thought of writing a wrapper script to deduce the key from the arguments:
>
>     git@github.com git-upload-pack '/theorganization/privaterepo.git'
>
> Is this the only option?

Yes, I had a similar problem a while ago (which I sent an RFC patch for)
which shows a script you can use:
https://public-inbox.org/git/20180103102840.27897-1-avarab@gmail.com/

It would be nice if this were configurable. Instead of the way you
suggested, it would be more general if we supported:

    [Include "remote:git@github.com:theorganization*"]
    path = theorganization.config

Although I'm sure we'd have some interesting chicken & egg problems
there when it comes to bootstrapping the config parsing.

  reply	other threads:[~2018-07-19 12:50 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-19 12:24 Use different ssh keys for different github repos (per-url sshCommand) Basin Ilya
2018-07-19 12:50 ` Ævar Arnfjörð Bjarmason [this message]
2018-07-19 16:47   ` Jeff King
2018-07-19 13:22 ` Sitaram Chamarty
2018-07-19 13:27   ` Sitaram Chamarty
2018-07-19 16:42 ` Jeff King
2018-07-19 19:01   ` Basin Ilya

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87zhynbd9z.fsf@evledraar.gmail.com \
    --to=avarab@gmail.com \
    --cc=basinilya@gmail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.