2011-05-21 15 views

Respuesta

10

git-shell es un shell restringido que puede utilizar para este fin.

Si la función Activar shell de conexión de un usuario a git-shell entonces sólo puede ejecutar un conjunto limitado de funciones de ayuda git del lado del servidor que permiten a Git remoto sobre el uso de ssh, pero no permiten un registro normal.

+2

Aquí hay una buena documentación sobre cómo lograr eso http://progit.org/book/ch4-4.html –

+0

¡Esto ha ahorrado tanto tiempo, gracias! –

+0

Gracias por la buena respuesta. Para futuros lectores, terminé en este sitio para facilitar los pasos para configurar esto: http://notepad2.blogspot.com/2012/04/git-over-ssh-restrict-user-to-git.html – user605331

1

También mire hacia la gitosis. En particular, se establece algunos parámetros en .ssh/authorized_keys que impiden el reenvío de puertos, etc:

command="gitosis-serve [email protected]",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAA.... 

Incluso si usted no utiliza gitosis, es posible que desee incluir las opciones restrictivas.

+2

Gitosis es ya no mantenido y respaldado por el autor; la mayoría de las personas generalmente recomiendan gitolita, que tiene mucha mejor documentación y más funciones: http://github.com/sitaramc/gitolite –

+0

@Seth - ah, no me había dado cuenta de que la gitosis estaba obsoleta (aunque la última actualización en 2009, supongo debería tener). Gracias por la nota! –

Cuestiones relacionadas