我有一个 Gitupdate
钩子,它检查正在更新的分支是否是主分支,如果是,则向客户端发送错误消息。我现在想做它,所以只有push
我自己制作的大师才能通过。
目前我有两个 SSH 密钥添加到authorized_keys
一个用户git
。其中一个是我的,我打算添加其他的。我在这里读到:
如果您允许每个人通过公钥身份验证与单个用户(如“git”)连接,您可能必须为该用户提供一个外壳包装器,该外壳包装器根据公钥确定哪个用户正在连接,并设置环境相应地变化。
但是他们没有解释如何做到这一点,我也找不到任何关于如何做到这一点的例子。你如何确定正在 SSH 的机器的指纹?我还考虑过创建一个单独的“git-admin”用户帐户,但裸仓库位于 /home/git 目录中,我想不出如何让两个用户使用相同的 url 推送到同一个仓库。我不能让用户共享同一个主目录,因为那样authorized_keys
两者都适用,而且我没有任何方法只为一个而不是另一个设置环境变量。
我的服务器在 FreeBSD 上运行。
关于如何实现我想要做的任何想法?