GitHub 上多个用户的一个 Unix 帐户,它是如何工作的?

hl0*_*37_ 5 ssh ssh-keys

当我们在GitHub 上创建存储库时,我们始终可以使用地址“git@github.com:user/repo”访问它,但它在幕后是如何工作的?

...我的意思是,只有一个 Unix 帐户:“git”,而多个用户使用不同的键和不同的目录使用它......

我在另一篇服务器故障帖子中看到(您如何执行类似于 GitHub 的基于密钥的动态 SSH?)它可能使用命令选项,但它是如何保护的?(它如何限制用户访问他有权访问的文件夹?)

另外,它是如何管理的?它只使用一个authorized_keys-file还是有其他技巧?

Sta*_*nov 6

我们正在使用我们自己的 GIT 存储库,我们通过authorized_keys 中的多条记录实现了这一点。使您感到困惑的关键点是 git 帐户不能直接访问终端,而是使用 git 程序。在内部,每个键都被识别为特定用户,它们具有特定的访问选项,并且 git 本身正在管理它。它是可配置的。

  • 这也是许多“Git Hosting”产品的工作方式。如果您有兴趣了解它是如何工作的,那么一个特别容易配置的变体是 [Gitolite](http://gitolite.com/)。 (5认同)