Cómo configurar su propio servidor Git en Linux

El servidor Git alberga un repositorio de proyectos que contiene el código fuente y otros archivos principales. Aunque puede confiar en los servicios de alojamiento Git de renombre mundial, como GitHub, en algunos casos es mejor alojar un servidor Git personal para mejorar la privacidad, la personalización y la seguridad.

Aprenda cómo puede configurar su propio servidor Git en Linux.

Requisitos previos para configurar un servidor Git

Antes de comenzar a configurar su propio servidor Git, debe tener acceso a una máquina de respaldo o debe registrarse con proveedores de servicios en la nube. Esto es importante porque configurará la máquina de respaldo para que actúe como un servidor Git al que se conectará desde su máquina local y realizará operaciones Git.

Aunque no hay requisitos del sistema claramente definidos, 1 GB de RAM debería ser suficiente para que se ejecute el servidor Git.Además, asegúrese de tener una distribución de Linux ejecutándose en su máquina.

Paso 1: Descarga e instala Git en un servidor Linux

Foto 1 de Cómo configurar tu propio servidor Git en Linux

Debe tener Git instalado en su servidor Linux. Inicie una terminal y use el administrador de paquetes de su distribución de Linux para instalar Git:

En derivados de Debian/Ubuntu:

sudo apt install git

En distribuciones basadas en Arch:

sudo pacman -S git

En CentOS/RHEL/Fedora:

sudo dnf install git

Una vez que Git esté instalado en su sistema, continúe con los siguientes pasos para configurar su sistema Linux y alojar sus repositorios Git como un servidor Git.

Paso 2: configurar una cuenta de usuario de Git

Foto 2 de Cómo configurar tu propio servidor Git en Linux

Conéctese a su servidor Linux a través de SSH, RDP u otro protocolo de acceso remoto. O, si está utilizando una computadora de repuesto como servidor, enciéndala y cree una nueva cuenta de usuario para administrar su inventario.

ssh [email protected] sudo useradd git

Una vez que se agrega el nuevo usuario, cambie a él con el comando su:

su git

La creación de una cuenta de usuario Git dedicada es un protocolo seguro que garantiza que los clientes que se conecten a su servidor Git tengan visibilidad y acceso limitados a los recursos locales. Esto le permite colaborar de forma segura en proyectos de equipo en los que varios miembros tendrán acceso a su servidor.

Paso 3: Cree una carpeta .ssh y agregue claves autorizadas

Foto 3 de Cómo configurar tu propio servidor Git en Linux

Es necesario crear un directorio .ssh para almacenar claves públicas y otros datos básicos que determinarán quién tiene acceso a este servidor Git. Para comenzar, inicie sesión en la cuenta de usuario de git que creó anteriormente, cree un directorio .ssh y restrinja el acceso solo al usuario de git:

ssh [email protected] mkdir .ssh chmod 700 .ssh/ touch .ssh/authorized_keys

Haga que el directorio sea accesible con el comando chmod para asegurarse de que nadie más que usted pueda realizar cambios en él. Vaya al directorio .ssh y cree un nuevo archivo "allow_keys" usando el comando táctil.

cd .ssh ssh-keygen -t rsa #only run this command if you DO NOT have an id_rsa.pub file cat id_rsa.pub

Deberá actualizar este archivo con la clave pública SSH de los clientes a los que desea dar acceso al servidor Git. Pause la sesión SSH y abra el archivo .ssh/id_rsa.pub en su máquina local con un editor de texto o cat. Este archivo contiene su clave cifrada públicamente, que cuando se guarda en el archivo allow_keys le otorgará acceso al servidor Git sin contraseña. .

cd .ssh vi authorized_keys

Copie la clave pública y cree una nueva conexión SSH al servidor Git. Vaya al directorio .ssh, abra el archivo authorized_keys con un editor de texto y pegue la clave pública. Guardar los cambios y salir.

A partir de este momento, debería poder conectarse al servidor sin una contraseña. Repita este paso para cada máquina que se conectará al servidor.

Paso 4: crea una carpeta para almacenar todos los repositorios

Vaya a un servidor Linux y cree un directorio o use un directorio existente como directorio de inicio. Recuerda que este es el directorio donde se almacenarán todos tus repositorios. Esto es bueno para organizar mejor los proyectos.

mkdir directory_name

Después de crear el directorio, continúe con el último paso de este tutorial para completar la configuración del servidor Git.

Paso 5: Comience el desarrollo agregando un nuevo proyecto

Ahora realmente ha terminado con la configuración del servidor Git. Solo necesita comenzar el desarrollo inicializando el repositorio y agregando la fuente remota a la máquina local. Vaya al directorio principal con el comando cd y cree un directorio de proyecto .git:

cd parent_directory mkdir new_project.git

Ahora inicialice el repositorio bare git:

git init --bare

Una vez que se inicializa el repositorio, es hora de agregar el origen remoto a su máquina local:

git remote add origin name [email protected]:new_project.git

Eso es todo lo que necesita hacer en el lado del servidor. Cualquier cliente autenticado ahora puede realizar operaciones Git comunes como empujar, extraer, fusionar, clonar, etc. Para iniciar nuevos proyectos, deberá repetir este paso cada vez que cree un nuevo proyecto.

Prueba su funcionalidad ejecutando un git push:

touch testfile git add testfile git commit -m "test file" git push name master git clone [email protected]:new_project.git

Su archivo se enviará con éxito a la fuente remota. Para probar si push funciona, puede clonar el repositorio y debe encontrar el archivo de prueba en el repositorio.

Tips para Seguridad del servidor Git

Cuando tiene un servidor Git en funcionamiento, debe considerar su nivel de seguridad, ya que es su servidor personal y es su responsabilidad mantenerlo y protegerlo de amenazas externas. Algunas de las mejores prácticas de seguridad que debe adoptar son:

  1. Desactivar inicio de sesión con contraseña
  2. Cambie el shell predeterminado a git-shell. Esto restringe que los usuarios registrados ejecuten cualquier comando que no sea git
  3. Usar un puerto personalizado para SSH
  4. Deshabilitar inicio de sesión de usuario raíz
  5. Copia de seguridad de los datos con regularidad

Hay muchas configuraciones de seguridad y medidas de seguridad que puede implementar en su servidor Linux para protegerlo de los atacantes y evitar el acceso no autorizado.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir
error: Content is protected !!