¿Cómo conectar un repositorio privado de GitHub con Git Version Control de cPanel?

cPanel incluye Git Version Control, una herramienta que permite clonar y administrar repositorios Git directamente desde tu cuenta de hosting.

Si el repositorio de GitHub es privado, no alcanza con pegar su URL: primero tenés que configurar una clave SSH para que tu cuenta de hosting pueda autenticarse frente a GitHub.

Esta clave cumple una función diferente a la clave SSH que usás para ingresar a tu hosting. En este caso, la conexión se realiza desde el servidor hacia GitHub, por lo que recomendamos utilizar una clave exclusiva para el repositorio.

Antes de empezar

Para realizar esta configuración necesitás:

  • Tener acceso al repositorio privado en GitHub.
  • Tener habilitado el acceso SSH en tu cuenta de hosting.
  • Tener disponible la Terminal de cPanel o conectarte a tu cuenta mediante SSH.

Por razones de seguridad, el acceso SSH no se encuentra habilitado por defecto en nuestras cuentas de hosting. Si todavía no lo tenés habilitado, podés solicitarlo mediante un ticket de soporte.

1. Generar una clave SSH exclusiva para el repositorio

Ingresá a la Terminal de cPanel o conectate a tu cuenta mediante SSH.

Generá una clave RSA de 4096 bits con el siguiente comando:

ssh-keygen -t rsa -f ~/.ssh/mi-repositorio -b 4096 -C "usuario@tudominio.com.ar"

Reemplazá:

  • mi-repositorio: por un nombre que identifique fácilmente al repositorio.
  • usuario@tudominio.com.ar: por una referencia que te permita reconocer posteriormente para qué se creó la clave.

Cuando el comando te pregunte por una passphrase, presioná Enter sin ingresar ninguna. Cuando solicite confirmarla, presioná Enter nuevamente.

En este caso dejamos la clave sin passphrase intencionalmente. Git necesita poder utilizarla desde el servidor sin intervención manual para acceder al repositorio. No reutilices esta clave como clave personal para ingresar por SSH a tu hosting.

Al finalizar se habrán creado dos archivos:

  • ~/.ssh/mi-repositorio: la clave privada, que debe permanecer en el servidor.
  • ~/.ssh/mi-repositorio.pub: la clave pública, que vamos a registrar en GitHub.

2. Copiar la clave pública

Desde la Terminal ejecutá:

cat ~/.ssh/mi-repositorio.pub

Copiá todo el contenido que aparezca en pantalla. Esa es la clave pública que vas a registrar en GitHub.

No copies ni compartas el archivo que no termina en .pub. Ese archivo contiene la clave privada y debe permanecer solamente dentro de tu cuenta de hosting.

3. Agregar la clave en GitHub como Deploy key

Ingresá en GitHub y abrí el repositorio privado que quieras conectar.

Dentro del repositorio ingresá en Settings > Deploy keys y hacé clic en Add deploy key.

Completá los campos de la siguiente manera:

  • Title: utilizá un nombre que identifique al hosting o servidor donde se utilizará la clave.
  • Key: pegá la clave pública completa que copiaste en el paso anterior.
  • Allow write access: dejalo desactivado salvo que realmente necesites realizar push desde el hosting hacia GitHub.

Finalmente hacé clic en Add key.

Para un uso habitual donde GitHub es el origen del código y el hosting solamente necesita traer los cambios, el acceso de lectura es suficiente y es la opción que recomendamos.

4. Indicarle a SSH qué clave debe utilizar para GitHub

Ahora tenés que configurar tu cuenta para que, cuando se conecte a GitHub, utilice la clave privada que acabás de generar.

Primero asegurate de que exista el archivo de configuración y asignale los permisos correctos:

touch ~/.ssh/config
chmod 600 ~/.ssh/config

Editá el archivo ~/.ssh/config con el editor que prefieras y agregá:

Host github.com
    IdentityFile ~/.ssh/mi-repositorio

Reemplazá mi-repositorio por el nombre que utilizaste al generar la clave.

5. Probar la conexión con GitHub

Podés comprobar que la clave funciona ejecutando:

ssh -i ~/.ssh/mi-repositorio -T git@github.com

Si la configuración es correcta, GitHub debería confirmar que la autenticación fue exitosa. Es normal que también indique que GitHub no proporciona acceso mediante una shell interactiva.

La primera vez que te conectes, SSH puede pedirte que confirmes la identidad del servidor remoto. Verificá que estés conectándote a github.com antes de aceptar.

6. Obtener la URL SSH del repositorio

En GitHub, ingresá al repositorio y buscá la opción Code. Seleccioná SSH y copiá la URL correspondiente.

Tendrá un formato similar a:

git@github.com:usuario/mi-repositorio.git

Para un repositorio privado configurado mediante una Deploy key, utilizá la URL SSH y no la URL HTTPS.

7. Clonar el repositorio desde Git Version Control

Volvé a cPanel e ingresá en Archivos > Git Version Control.

Hacé clic en Create / Crear y completá los datos:

  • Clone a Repository: debe estar activado.
  • Clone URL: pegá la URL SSH que copiaste desde GitHub.
  • Repository Path: elegí la carpeta de tu cuenta donde querés guardar el repositorio.
  • Repository Name: ingresá un nombre que te permita identificarlo dentro de cPanel.

Por ejemplo, podrías utilizar como ruta:

repositorios/mi-repositorio

Finalmente hacé clic en Create / Crear.

Cuando se utiliza una URL SSH, cPanel puede pedirte que confirmes la clave pública del servidor remoto antes de continuar. Una vez registrada, comenzará a clonar el repositorio.

La clonación puede demorar algunos minutos dependiendo del tamaño del repositorio.

¿Y después cómo traigo nuevos cambios desde GitHub?

Una vez creado el repositorio, ingresá nuevamente en Git Version Control y hacé clic en Manage / Administrar junto al repositorio correspondiente.

Desde allí cPanel permite administrar el repositorio y traer cambios desde el remoto mediante las opciones de Pull or Deploy.

Clonar o actualizar el repositorio no significa necesariamente publicar automáticamente sus archivos en tu sitio web. El despliegue automático mediante Git es una configuración adicional y puede requerir un archivo .cpanel.yml, según el proyecto y la forma en que quieras publicarlo.

Preguntas frecuentes

¿Tengo que autorizar esta clave desde “Administrar claves SSH” de cPanel?
No. Esta clave no se utiliza para ingresar a tu cuenta de hosting. Se utiliza para que tu cuenta de hosting se autentique frente a GitHub. La clave pública se registra en GitHub como Deploy key.

¿Por qué esta clave no lleva passphrase si para el acceso SSH recomendamos usar una?
Porque cumplen funciones distintas. Una clave personal de acceso SSH conviene protegerla con passphrase. En cambio, esta clave debe poder ser utilizada automáticamente por Git desde el servidor, por eso se genera sin passphrase y se utiliza exclusivamente para ese repositorio.

¿Tengo que activar “Allow write access” en GitHub?
En general, no. Si solamente vas a traer código desde GitHub hacia el hosting, dejalo desactivado. Activá el acceso de escritura únicamente si necesitás hacer push desde el servidor hacia ese repositorio.

¿Puedo usar la misma Deploy key para todos mis repositorios privados?
No es lo recomendable. Utilizá una clave diferente para cada repositorio. Además de mejorar la seguridad, permite revocar el acceso de un proyecto sin afectar los demás.

¿Qué pasa si necesito conectar varios repositorios privados de GitHub?
En ese caso vas a necesitar una clave para cada repositorio y configurar alias diferentes dentro de ~/.ssh/config, de manera que Git pueda saber qué clave utilizar para cada uno.

¿Git Version Control publica automáticamente mi sitio?
No necesariamente. Git Version Control administra el repositorio y permite traer o desplegar cambios, pero la forma de publicar el proyecto depende de su estructura. Para automatizar despliegues, cPanel puede utilizar un archivo .cpanel.yml.

  • GitHub, cPanel, Git
  • 0 Los usuarios encontraron esto útil
¿Le ha resultado útil esta respuesta?

Artículos relacionados

¿Cuándo se instala el certificado SSL después de activar el hosting?

Si acabás de activar tu cuenta de hosting y notás que el certificado SSL todavía no está...

Usar varios dominios para un mismo sitio (alias y redirecciones)

Es muy común que una empresa o proyecto tenga más de un dominio: por ejemplo, la versión .com y...

¿Puedo usar mi dominio solo para correo?

Sí, es totalmente posible usar un dominio solo para correo electrónico, sin necesidad de tener un...

¿Cuántas cuentas de correo electrónico puedo crear?

Podés crear entre 100 y 500 cuentas de correo electrónico, según el plan de hosting que tengas...

¿Proveen un servicio con marca blanca o mis clientes van a ver el logo de AMPM?

Conocemos muy bien esta necesidad, especialmente en quienes contratan planes Multidominio para...