我在使用Gitolite设置IP限制时遇到了一些麻烦

我在使用Gitolite设置IP限制时遇到了麻烦。 这可能是简单的,这是我第一次使用它(我终于从Gitosis切换,因为它不能做我所需要的)

基本上我的客户网站都有一个git回购。 我推到回购,后接收钩推到她的现场或开发取决于我推到哪里。 无论如何,事情是一个客户想要访问她的网站上的文件,我没有问题,但是因为她可以在〜/ .ssh中访问她的SSH密钥,所以她会直接访问我不想从Web服务器之外允许的回购。

这是我的configuration的相关部分:

repo example.com R VREF/FROM/127.0.0.1 = user 

这将工作,除了Gitolite生成一个坏的authorized_keys文件:

 command="/usr/share/gitolite/gl-auth-command user",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ,from="127.0.0.1" ssh-rsa... 

问题在于no-pty之后的空间。 删除空间,它工作正常。 保持空间和关键被忽略。

任何想法如何正确地设置这将不胜感激! 我真的不希望每当我改变一些东西时,在authorized_keys文件上运行sed,除非没有别的办法…

谢谢!

gitolite食谱“ 例2:源IP地址限制 ”表明这个VREf不会给授权密钥添加任何东西。

VREF在gitolite V3中更好地定义(而不是gitolite V2中的虚拟参考 )。

解:

1使触发器/ ip-limit包含

 #!/bin/bash # # ip-limit # UnrestrictedUserName=Me PermittedIP=127.0.0.1 if [ "$GL_USER" == "$UnrestrictedUserName" ] ; then exit 0; fi IP=$(echo $SSH_CLIENT | perl -pe 's/ .*//g'); if [ "$IP" != "$PermittedIP" ] ; then echo "You ($GL_USER) are not permitted from the IP ($IP)" >&2 exit 1; fi exit 0 

2指导gitolite使用它:

 chmod 0777 triggers/ip-limit cp .gitolite.rc .gitolite.rc.origonal perl -pi -e 's/(^.*ENABLE)/ PRE_GIT => ['\''ip-limit'\''],\n$1/g' .gitolite.rc 

笔记:

  • VREF只在推送时被调用,所以不能用来限制取回等。
  • GL_REPO我也有用的一些。