Servidor Git privado en Linux

Hay varias formas de alojar tu propio servidor Git. Esta guía cubre la opción más sencilla — un repositorio bare accedido por SSH — que funciona bien para equipos pequeños de confianza. Para una interfaz web completa con pull requests y gestión de issues, consulta la sección de alternativas modernas al final.

Repositorio bare por SSH

Todos los colaboradores necesitan acceso SSH al servidor y Git instalado en ambos lados (apt install git / dnf install git).

Preparar el servidor

Crear un grupo para los colaboradores:

groupadd git-users

Crear un usuario del sistema para cada colaborador y asignarlo al grupo:

useradd -m -g users -G git-users -s /bin/bash contributor1
passwd contributor1

Repetir para cada colaborador.

Crear el repositorio

mkdir -p /srv/git-repos
git init --bare /srv/git-repos/project.git
chown -R root:git-users /srv/git-repos/
chmod -R g+rwX /srv/git-repos/

g+rwX da al grupo acceso de lectura y escritura, y establece el bit setgid en los directorios para que los archivos nuevos hereden el grupo automáticamente.

Clonar y hacer push

Desde la máquina de un colaborador, clonar el repositorio:

git clone contributor1@tu-servidor:/srv/git-repos/project.git

O añadirlo como remoto a un repositorio local existente:

git remote add origin contributor1@tu-servidor:/srv/git-repos/project.git
git push -u origin main

Autenticación por clave SSH (recomendado)

El acceso por contraseña funciona, pero las claves SSH son más seguras y permiten la automatización. En la máquina de cada colaborador:

ssh-keygen -t ed25519 -C "contributor1"
ssh-copy-id contributor1@tu-servidor

Alternativas modernas — Gitea y Forgejo

Si necesitas una interfaz web con pull requests, gestión de issues, administración de usuarios y navegación de repositorios, las dos opciones líderes de alojamiento propio son:

  • Gitea — ligero, binario único, funciona en cualquier servidor Linux o como contenedor Docker
  • Forgejo — fork comunitario de Gitea con énfasis en la gobernanza abierta

Ambos usan por debajo el mismo flujo de trabajo Git por SSH, así que se puede empezar con el enfoque de repositorio bare descrito arriba y migrar a Gitea/Forgejo más adelante sin perder el historial.


Última actualización: 26 de junio de 2026

Por: Guillermo Garron