¿Hay alguna buena razón para evitar instalar Git en su servidor web?

Si bien es una buena idea no instalar cosas que no necesita en un servidor web, git como herramienta de implementación es un uso perfectamente legítimo.

Sin embargo, tres advertencias.

  1. Como señaló Quora User, no ejecute el git-daemon. Vas a hacer tirones desde otro lugar
  2. Considere debidamente a qué usuario y grupo ejecutar git. Este usuario debe tener acceso a lo que se necesita para actualizar la implementación del servidor web. Esto puede ser más acceso del necesario para el servidor web en sí (es decir, acceso de escritura a cosas a las que el servidor web solo debería tener acceso de lectura).
  3. No almacene sus credenciales para el repositorio remoto en su servidor web. Si su servidor está comprometido, pone en riesgo su repositorio y posiblemente el servidor en el que está alojado.

Esto último es importante. Si bien el uso de hash de git hace que sea imposible alterar un commit, no hay nada que evite que un atacante empuje un nuevo commit que parece ser de otra persona. Las credenciales SSH también pueden dar otro acceso también.

En su lugar, use la función de agente de reenvío de SSH, para permitir que las credenciales vivan en un sistema que inicia la implementación, ya sea su máquina de desarrollo, servidor de implementación o lo que sea.

Aquí hay algunas instrucciones para usar la función de agente de reenvío de SSH, cortesía de github

Uso del reenvío de agentes SSH

Estoy de acuerdo con Don, está bien instalar Git en un servidor. Hace posibles varias estrategias de implementación y elimina mucho dolor y sufrimiento que proviene de no usar Git. Ha sido inmensamente útil en una variedad de situaciones usar Git en el propio servidor para realizar un seguimiento de los cambios de directorios como / etc si no los implementa desde los propios repositorios de git o los scripts de automatización almacenados en los repositorios de git.

Está bien instalar git y usarlo sobre ssh, pero no ejecute git-daemon en un servidor de producción.

Es posible que desee usarlo para rastrear los cambios en los archivos de configuración.