Gitolite一个用户 - 许多键 - 不同的用户名

Ada*_*dam 38 git authentication ssh gitolite

我希望按照说明设置吉他,一切都按计划进行.

我有点不确定用户名部分是如何工作的,浏览文档并没有帮助我 - 也许我错过了一些简单的东西.

如果我有两个客户机,供一个真人使用,但在每台机器上都有用户名,让我们说dave和david.如何组织keydir和任何配置文件中的密钥,以便它们代表同一个用户?我得到后缀的东西,dave @ laptop,dave @ desktop(我认为),而不是如何连接不同的客户端机器用户名,因为它似乎在验证时寻找这个(可能是因为包含user @ host信息的公钥) ?)

如果需要,我可以提供更多细节 - 我只是不想用无关的信息轰炸你们所有人.

非常感谢.

Ste*_*oss 51

目前根据文档推荐的方式

"最简单,最容易理解的是将他们的密钥放在不同的子目录中[在你的/ kedir中],(alice.pub,home/alice.pub,laptop/alice.pub等)."

参考:http://gitolite.com/gitolite/gitolite.html#multi-key

旧的方式

如果您问如何完成以下任务:

  1. 大卫(家用电脑)
  2. 大卫(工作电脑)
  3. 大卫(笔记本)

使用每台计算机上的不同ssh密钥,您只需创建密钥(即:keygen"david@someemail.com"),然后将公钥复制到您的gitolite keydir目录(gitolite-admin/keydir).当你这样做,简单地命名键david@homecomputer.pub,david@workcomputer.pubdavid@laptop.pub.将密钥添加到repository(git add keydir/.),commit(git commit -m "added David's additional keys")并git push返回到服务器.

Gitolite很聪明,知道即使它是一个不同的密钥,用户名(在之前@)仍然是,david并且将允许该用户登录并使用ACLdavid

希望这可以帮助

要解决这样一个场景,你可能会john_home.pub john_work.pub打开你的gitolite回购(回购管理员)和你重新命名键kedirjohn@work.pubjohn@home.pub提交和推动.现在,您的用户john可以从任一计算机登录并使用相同的用户名.

请记住,为了使其正常工作,SSH密钥中的电子邮件地址必须与所有用户密钥相同.因此,使用上面的例子,在键 david@homecomputer.pub,david@workcomputer.pubdavid@laptop.pub所有应有的电子邮件地址david@foobar.com.

以上是对此的"旧方式",并且如果您以"电子邮件地址方式"命名您的密钥,可能会导致并发症,这与我上面所说的相反,gitolite不检查您的密钥是否正确的电子邮件地址.请忽略(为了清楚起见,我保留了原始评论).

  • 如果您在盒子上提到您的登录信息,那么无关紧要,您可以使用相同的电子邮件地址生成一个ssh密钥对,然后按照上面的说明操作,而不必像上面那样捣乱您的gitolite conf. (4认同)

小智 11

对于Gitolite v3至少最简单的解决方案是使用此处记录的子文件夹系统http://sitaramc.github.com/gitolite/users.html

Gitolite将通过keydir递归搜索并将所有.pub关联为一个用户.我现在使用子文件夹系统与Windows笔记本电脑和Linux开发机器工作正常.

user @ host约会似乎太复杂了.

我正在做这样的事情:

keydir
 |--mfang
 |    |--laptop01
 |    |      |--mfang.pub
 |    |--linux01
 |    |      |--mfang.pub
 |...etc


Bri*_*ell 1

您在服务器上的一个用户下安装 gitolite;通常git,在 SSH 连接字符串中,您总是显式地用于git@servername连接到 Git 用户帐户。然后,Gitolite 将查看您提供的公钥,在您的配置中找到该公钥,并将您视为关联用户。