Ha habido un problema al cargar los comentarios.

Guía de Git: Configurar el acceso a repositorios privados

Portal de asistencia  »  Nicapedia  »  Artículo en vista

  Imprimir

Este documento explica cómo habilitar acceso por SSH para poder clonar y trabajar con repositorios privados desde una cuenta de cPanel. El flujo consiste en crear un par de claves, registrar la clave pública en el proveedor del repositorio privado y ajustar la configuración SSH local para usar esa clave.

 

Nota:
En los ejemplos se utiliza GitHub, pero el procedimiento es prácticamente igual para otros proveedores.


Requisitos

  • Cuenta de cPanel con espacio en disco disponible.
  • Funciones Acceso SSH y Terminal habilitadas en tu cPanel.
  • Capacidad de conectarte por SSH o usar el Terminal de cPanel.

Paso 1 Conectarse por SSH o abrir el Terminal de cPanel

  • Si usas SSH desde tu equipo, conecta contra el servidor de tu cuenta.
  • Si prefieres el Terminal integrado, abre cPanel → Avanzado → Terminal.
    Una vez dentro, todos los comandos de este tutorial se ejecutan ahí.

Paso 2 Generar una clave SSH específica para el repositorio privado

Crea una clave RSA 4096 sin passphrase para usarla como clave de despliegue o de acceso al remoto.

ssh-keygen -t rsa -b 4096 -f ~/.ssh/NOMBRE_CLAVE -C "USUARIOCP@DOMINIOCP"

  • Sustituye:
    • NOMBRE_CLAVE por algo que identifique el repo, por ejemplo testing.
    • USUARIOCP por tu usuario de cPanel.
    • DOMINIOCP por tu dominio en cPanel.

Ejemplo:

ssh-keygen -t rsa -b 4096 -f ~/.ssh/testing -C "usuariocp@cptest.tld"

Detalle de parámetros:
-t tipo de clave, -b tamaño, -f ruta base de los ficheros .pub y privado, -C comentario para identificar la clave.Cuando pida passphrase, déjala vacía y pulsa Enter.


Paso 3 Crear y asegurar el archivo de configuración SSH

Crea el archivo ~/.ssh/config, aplica permisos correctos y ajusta propietario.

 

touch ~/.ssh/config
chmod 0600 ~/.ssh/config
chown USUARIOCP:USUARIOCP ~/.ssh/config

 

Abre ~/.ssh/config con tu editor y añade una entrada que asocie el host remoto con la clave privada creada.

 

Ejemplo para un único repositorio privado en un dominio concreto:

Host github.com
IdentityFile ~/.ssh/testing

  • Host puede ser un dominio concreto del proveedor.
  • También puedes usar * para aplicar esa clave a cualquier host, aunque no es lo recomendable si gestionarás varias claves.
  • Asegúrate de que IdentityFile apunta al fichero privado que generaste en el paso anterior.

Guarda el archivo.

Paso 4 Registrar la clave pública en el proveedor del repositorio privado

Localiza tu clave pública y cópiala al portapapeles:

cat ~/.ssh/testing.pub

Ejemplo en GitHub

  1. Inicia sesión en GitHub.
  2. Entra al repositorio privado.
  3. Abre Settings del repositorio.
  4. En el menú lateral, ve a Deploy keys.
  5. Pulsa Add deploy key.
  6. Título descriptivo y pega el contenido completo de ~/.ssh/testing.pub en Key.
  7. Si vas a empujar cambios desde cPanel hacia GitHub, marca Allow write access. Si no lo marcas, la clave servirá solo para lectura y despliegue.
  8. Guarda con Add key.

Paso 5 Probar la clave SSH

Comprueba que la autenticación funciona contra el proveedor.

ssh -i ~/.ssh/testing -T git@github.com

  • Cambia la ruta de la clave y el dominio según tu caso.
  • Un mensaje de bienvenida o confirmación sin error indica que la clave está aceptada.

Paso 6 Preparar acceso a varios repositorios con alias

Si gestionas varias claves, crea una por repo y define alias en ~/.ssh/config para distinguirlas.

Ejemplo con dos repos en GitHub, testing y testing2:

Host github.com-testing
HostName github.com
IdentityFile /home/cptest/.ssh/testing

Host github.com-testing2
HostName github.com
IdentityFile /home/cptest/.ssh/testing2

  • HostName es el dominio real.
  • Host es el alias que usarás en las URLs SSH.

Paso 7 Clonar repositorios privados usando la clave

Caso con un único repositorio en el host

Cuando solo usas una clave para ese host, puedes clonar directamente con el dominio del proveedor.

git clone git@github.com:USUARIOREMOTE/REPO.git


Ejemplo:

 

git clone git@github.com:cptest/testing.git


Caso con múltiples repos y alias definidos

Usa el alias configurado en Host para que Git seleccione la clave adecuada.

git clone git@ALIAS:USUARIOREMOTE/REPO.git

 

Ejemplo usando el alias del ejemplo anterior:

git clone git@github.com-testing2:cptest/testing2.git


Consejos de operación y seguridad

  • Mantén permisos estrictos en ~/.ssh:
    • ~/.ssh con 700, claves privadas con 600, config con 600.
  • Evita compartir la clave privada y realiza rotación periódica si personal externo tuvo acceso.
  • Para despliegues automatizados, emplea claves de solo lectura cuando sea posible.
  • Documenta qué claves están autorizadas en cada repositorio y quién es responsable.


Compartir a través de
¿Has encontrado útil este artículo?  

Artículos relacionados

© Nicalia