📚 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.
- Autoriza tu equipo en el servidor intermedio:
ssh-copy-id -i ~/.ssh/id_ed25519.pub servidor-salto - 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:
- Ve a la carpeta compartida designada para el código:
cd /volume1/git/ - 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 - 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.