Guía de Git

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

Descripción

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.

Cómo verificar la autenticidad de los correos de Nicalia

¿Por qué es necesario verificar un correo? El phishing es un tipo de fraude digi

Verificar un dominio en G Suite

Guía de Git: Despliegue

Introducción La función Git Version Control de cPanel (cPanel → Archivos → Git V

Guía de Git: Configurar el despliegue

Introducción La interfaz Git Version Control de cPanel (cPanel → Archivos → Git

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

Descripción Este documento explica cómo habilitar acceso por SSH para poder clon

Guía de Git: Alojar repositorios Git en una cuenta cPanel

Requisitos previos Antes de comenzar, asegúrate de cumplir con lo siguiente: Cre

Guía de Git: Comandos comunes de Git

Introducción Git™ es una herramienta muy potente para gestionar versiones de cód

Guía de Git: Términos comunes de Git

Introducción Git™ es un sistema de control de versiones que permite llevar un re

Guía de Git

Gestión de control de versiones Git™ en cPanel

La función de Control de Versiones Git™ en cPanel te permite alojar y gestionar

Cómo instalar n8n en cPanel

¿Qué es n8n? Es una herramienta open source que permite automatizar tareas repet

Habilitar modo Debug de Prestashop

Activar el modo debug en PrestaShop es muy útil para detectar errores en la tien

Chat Icon Close Icon