Volver al Blog

¿Cómo resolver problemas de autenticación de Git Clone con un Token de Acceso Personal (PAT)?

2024-10-243 min de lectura

Mientras trabajaba en clonar un repositorio de un servidor de GitHub Enterprise, me encontré con un problema de SSL. Cuando intenté clonar el repositorio usando HTTPS, Git me pidió credenciales, pero no estaba usando una combinación típica de nombre de usuario y contraseña porque inicio sesión con credenciales de Microsoft 365. Aquí está el desglose completo del problema y cómo lo resolví usando un Token de Acceso Personal (PAT).

El Problema: SSL y Solicitudes de Autenticación

Cuando intenté clonar el repositorio por primera vez usando HTTPS, me encontré con dos problemas principales:

  1. Error de Certificado SSL: El servidor de GitHub Enterprise estaba utilizando un certificado SSL autofirmado, lo que provocó que Git fallara la operación debido a un error de verificación del certificado SSL.
  2. Solicitud de Autenticación: Incluso después de omitir el problema de SSL, Git me pidió un nombre de usuario y una contraseña. Dado que uso Inicio de Sesión Único (SSO) con Microsoft 365, no tenía un nombre de usuario y contraseña tradicionales para el repositorio.

En este punto, no pude completar la operación de clonación debido al certificado SSL autofirmado y la ausencia de credenciales estándar.

Paso 1: Omitir el Problema del Certificado SSL

Para solucionar temporalmente el problema del certificado SSL, ejecuté el siguiente comando de Git, que deshabilita la verificación SSL:

git -c http.sslVerify=false clone https://yourcompany.domain/your-team/your-repo.git .

Este comando le indica a Git que ignore la verificación del certificado SSL y continúe con la operación de clonación. Sin embargo, no resolvió el problema de autenticación, ya que Git todavía me pedía un nombre de usuario y una contraseña.

Paso 2: Resolver el Problema de Autenticación con un Token de Acceso Personal (PAT)

Debido a que iniciaba sesión en mi cuenta de GitHub Enterprise usando credenciales de Microsoft 365 (a través de SSO), no tenía una combinación típica de nombre de usuario/contraseña para proporcionar cuando se me solicitaba. La solución fue usar un Token de Acceso Personal (PAT), que GitHub proporciona para una autenticación segura en tales casos.

¿Qué es un Token de Acceso Personal (PAT)?

Un Token de Acceso Personal (PAT) es una forma más segura de autenticarse al usar Git sobre HTTPS. Funciona como una contraseña, pero es más flexible y seguro. Puedes generar un PAT y usarlo en lugar de una contraseña cuando Git solicite credenciales. Puedes controlar sus permisos (conocidos como scopes), lo que lo convierte en una opción más segura.

Cómo Generar un PAT

  1. Inicia sesión en tu cuenta de GitHub Enterprise.
  2. Ve a Settings > Developer settings > Personal access tokens.
  3. Haz clic en Generate new token y selecciona los permisos apropiados (scopes). Para el acceso al repositorio, normalmente necesitarás el scope repo.
  4. Copia el token generado (PAT) y guárdalo en un lugar seguro (no podrás volver a verlo después de este punto).

Usar el PAT para Clonar el Repositorio

Una vez que tuve el Token de Acceso Personal, volví a mi terminal. Cuando Git me pidió un nombre de usuario, ingresé mi dirección de correo electrónico (asociada al inicio de sesión de Office 365). Cuando me pidió una contraseña, pegué el PAT en lugar de una contraseña:

Username for 'https://yourcompany.domain': [email protected]
Password for 'https://[email protected]@yourcompany.domain': <pega-tu-PAT-aquí>

Después de esto, la operación de clonación funcionó perfectamente y tuve acceso al repositorio.

Categorías: