¿Cómo empujar a github desde una cuenta de servidor con múltiples usuarios?

2

Tenemos un servidor web que contiene una aplicación web almacenada como un proyecto github. Ahora todos podemos empujar desde nuestras máquinas locales a Github y luego extraer desde el servidor web.

A veces queremos hacer pequeños cambios en el servidor web e inmediatamente ver el efecto, por lo que sería genial poder empujar desde el servidor web también.

Ahora creé una clave ssh para el servidor, pero no quiero agregar la clave ssh de los servidores a mi cuenta de github porque todas las acciones de github realizadas desde el servidor se cuentan en mi cuenta. Tampoco quiero copiar mi clave privada al servidor, obviamente.

¿Es posible agregar la clave ssh del servidor web al proyecto de aplicación web github sin crear un nuevo usuario para el servidor y cuál es la mejor práctica para esta situación?

Konrad Höffner
fuente

Respuestas:

2

Las claves SSH son por cuenta en github (y en cualquier otro lugar) y no desea una cuenta para el servidor ni adjuntar el servidor a una de las cuentas personales.

Supongo que solo tiene una cuenta para todos en el servidor web para editar la aplicación web / repositorio de git. De lo contrario, no tendría la restricción de una sola clave para el servidor.

Entonces, si realmente desea enviar directamente desde el servidor a github, debe crear diferentes inicios de sesión / usuario en el servidor web y luego iniciar sesión como uno de estos usuarios para enviar a github.

Debe asegurarse de que todos estos usuarios tengan acceso de escritura a la .gitcarpeta y cada archivo creado por git retendrá este acceso.

Mi idea sería forzar un grupo gitpara todo el repositorio con

chgrp -R git <git repo dir>
chmod -R g+s <git repo dir>

y luego forzar el acceso de escritura por defecto para los nuevos archivos para ese grupo con

setfacl -R -m d:g:git:rwX

Esta sería mi solución para un servidor web de Linux con ACL. En caso de que tenga un servidor web de Windows, puede hacer lo mismo, pero obviamente debe hacerlo en la GUI o usar otros comandos.


En términos de configuración de github / ssh, crearía una clave ssh para cada usuario en el servidor web y cada usuario las agregará a su cuenta personal de usuario git. Todavía no debe copiar la clave privada de su máquina al servidor web.

JonnyJD
fuente
1

Por favor, no tener varios usuarios con la misma cuenta. Simplemente lleva al lavado de responsabilidades.

vonbrand
fuente
1
La mayoría de las reglas tienen excepciones que hacen que "nunca" y "siempre" sean palabras demasiado fuertes.
Sirex