Subject: Re: [RFC 0/2] Git-over-TLS (gits://) client side support

From: Ilari Liusvaara <[email-masked]>
Date: Thu, 14 Jan 2010 10:51:25 +0200

On Wed, Jan 13, 2010 at 06:51:03PM -0500, Avery Pennarun wrote:
> On Wed, Jan 13, 2010 at 6:00 PM, Ilari Liusvaara
> <[email-masked]> wrote:
> > On Wed, Jan 13, 2010 at 05:03:45PM -0500, Avery Pennarun wrote:
> >
> > No client-side fallbacks, key auth works pseudonymously. That takes
> > care of them pretty well.
> 
> Perhaps I'm being dense, but I don't understand what you mean by
> either of those.

The client tries only one auth method instead of potentially trying
multiple. Witness the 'use verbose mode and check if it uses the key'
type stuff.

With keypair auth, the server can accept arbitrary (valid) keypair,
but only limited set have special priviledges -> Cuts down significantly
on "why this doesn't accept the key" problems (the keyid is usually
printed on denied access).

> >> If you solve your main
> >> annoyances with ssh, how do you know you won't introduce any new
> >> annoying failure modes?
> >
> > Ensuring that at least some information make back to client (presuably
> > enough to figure out the problem).
> 
> Unfortunately revealing information like that is a compromise; it
> helps attackers as well as legitimate users.  It's the same reason
> login prints "invalid username or password" instead of choosing
> between "invalid username" and "invalid password."

Yeah. Sometimes one must chose balance between being helpful to users
and being helpful for attackers.

> >> *Why* can't ssh be fixed to solve the  problem?
> >
> > Client side fallbacks (may be desired or not!), service not being
> > able to intervene on wheither to allow client or not in case of
> > keypair auth.
> 
> I don't understand that answer.  Couldn't ssh be patched to do
> whatever you want?  Particularly if it's just better (optional)
> diagnostics, you'd think someone would accept the patch for that.

OpenSSH? With the level of paranoia in it, I'd say good luck. And
it's not just client, its the server also (and especially the
server).

> >>  Will I have to generate and manage yet another new set of
> >> keys to use the new system?
> >
> > Yes.
> 
> Ouch.

Well, usually that means one keypair to generate and exchanging
keyids.

And if you host the repo system too, you would get second key anyway
(and SSH is not too good at handling multiple keys).

> > Well, if you like SSH more, then use ssh://...
> 
> I'm just looking for a justification for why I *shouldn't* like ssh
> more.  Is the only reason the fact that it might be easier to
> initially configure the key exchange?

And besides, gits:// is for host multiple repos type stuff, not for
private repos on your account (use the ssh:// for those, and there the
failure modes of SSH matter much less).

-Ilari