<div dir="ltr">GitLab is open source.   One can download it, dissect it, and figure out how it works.<div><br></div><div>But yes, GitLab figures out who you are by your ssh key when you push.</div><div><br></div><div>It's not that weird, GitHub does the same thing.  If the ACLs are set, you can push to repos outside "your account", and GitHub figures out who you are by which SSH key you use.</div><div><br></div><div>..m</div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Nov 18, 2015 at 7:26 PM Eric S. Raymond <<a href="mailto:esr@thyrsus.com">esr@thyrsus.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hal Murray <<a href="mailto:hmurray@megapathdsl.net" target="_blank">hmurray@megapathdsl.net</a>>:<br>
> <a href="mailto:esr@thyrsus.com" target="_blank">esr@thyrsus.com</a> said:<br>
> > You gave GitLab an ssh public key; git uses your ssh private key.  This<br>
> > allows you to be authenticated to GitLab.  You're a member of the NTPsec<br>
> > project with the role "Developer", so you can push to any unprotected<br>
> > branch. The repository is not world-writable.<br>
><br>
> That would make sense if GitLab knew who I was.  Why am I me as compared to<br>
> you or somebody who doesn't even have an account?<br>
><br>
> How does it translate my local login name to a GitLab name?  A brute force<br>
> search of everybody with write access seems like a bad idea if there might be<br>
> a large project and I'm sure somebody will come up with one.<br>
><br>
> The public key has a user@host at the end.  I don't know if the private key<br>
> has something similar.  Mine is encrypted.  Assuming that gets to the wire,<br>
> then a hash table lookup would do it.<br>
<br>
The only identifying piece of info it has about you when you push is<br>
your ssh public key - git developer access works through an ssh<br>
tunnel.  Therefore, it must be doing something like that brute-force<br>
check.<br>
<br>
You're right, it would be interesting to know more about how this works.<br>
--<br>
                <a href="<a href="http://www.catb.org/~esr/" rel="noreferrer" target="_blank">http://www.catb.org/~esr/</a>">Eric S. Raymond</a><br>
_______________________________________________<br>
devel mailing list<br>
<a href="mailto:devel@ntpsec.org" target="_blank">devel@ntpsec.org</a><br>
<a href="http://lists.ntpsec.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.ntpsec.org/mailman/listinfo/devel</a><br>
</blockquote></div>