Guía de configuración: Acceso al servidor Git

Guía de configuración: Acceso al servidor Git (Autogestionado)

📚 Guía de configuración: Acceso al servidor Git (Autogestionado)

Hemos configurado un servidor Git privado en el NAS para alojar nuestro código. Para conectarte desde fuera de la red local sin necesidad de usar una VPN, utilizaremos un servidor intermedio (Jump Host) y llaves SSH. Esto te permitirá trabajar de forma segura y sin tener que escribir contraseñas cada vez que subas o descargues código.

Sigue estos pasos para configurar tu equipo y crear tu primer proyecto:

Paso 1: Generar tu llave SSH local

Abre la terminal en tu computadora y genera tu llave criptográfica ejecutando el siguiente comando (presiona Enter a todas las preguntas para dejar los valores por defecto y sin contraseña):

ssh-keygen -t ed25519 -C "tu_nombre_o_correo"

Paso 2: Configurar el túnel de conexión

Vamos a decirle a tu computadora cómo saltar automáticamente a través del servidor externo para llegar al NAS. Abre (o crea) tu archivo de configuración SSH:

nano ~/.ssh/config

Pega el siguiente texto, reemplazando [TU_USUARIO] por tu nombre de usuario:

# 1. Conexión al servidor intermedio
Host servidor-salto
    HostName [IP_DEL_SERVIDOR_EXTERNO]
    User [TU_USUARIO]
    IdentityFile ~/.ssh/id_ed25519

# 2. Conexión final al servidor Git (NAS)
Host synology-git
    HostName [IP_INTERNA_DEL_NAS]
    User [TU_USUARIO]
    ProxyJump servidor-salto
    IdentityFile ~/.ssh/id_ed25519

Guarda los cambios (Ctrl+O, Enter, Ctrl+X).

Paso 3: Instalar tus llaves en los servidores

Ahora debes enviar tu llave pública recién creada a ambos equipos. Se te pedirán tus contraseñas por última vez durante este paso.

  1. Autoriza tu equipo en el servidor intermedio:
    ssh-copy-id -i ~/.ssh/id_ed25519.pub servidor-salto
  2. Autoriza tu equipo en el NAS (a través del túnel):
    ssh-copy-id -i ~/.ssh/id_ed25519.pub synology-git

Paso 4: Ajustar permisos de seguridad (¡Muy importante!)

El sistema operativo del NAS es sumamente estricto y rechazará tus llaves si los permisos de tu carpeta no son exactos. Conéctate al NAS ejecutando:

ssh synology-git

Una vez dentro (puede que te pida contraseña una última vez), ejecuta estos tres comandos exactamente como aparecen para asegurar tu carpeta:

chmod 755 ~
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Paso 5: Crear tu primer repositorio en el NAS

Antes de subir código, el NAS necesita tener un contenedor vacío (repositorio «bare») listo para recibirlo. Mantente en esa misma sesión SSH dentro del NAS y ejecuta lo siguiente:

  1. Ve a la carpeta compartida designada para el código:
    cd /volume1/git/
  2. Crea el repositorio (sustituye el nombre por el de tu proyecto, por ejemplo, para el trabajo con el tomate):
    git init --bare analisis-microbioma-tomate.git
  3. Sal del NAS para regresar a la terminal de tu computadora local:
    exit

Paso 6: Subir tu código local al servidor

Ahora que el NAS está listo, ve a la carpeta de tu proyecto en tu computadora local y envíalo al servidor.

Si tu carpeta local aún no tiene Git inicializado, primero ejecuta:

git init
git add .
git commit -m "Commit inicial"

Finalmente, vincula tu carpeta local con el repositorio que acabas de crear en el NAS y sube los archivos:

git remote add origin synology-git:/volume1/git/analisis-microbioma-tomate.git
git push -u origin main

¡Todo listo! A partir de aquí, tus comandos cotidianos de git push y git pull funcionarán de manera automática e invisible sin pedirte contraseñas.