Cómo configurar el token de acceso personal de Git

GitGitBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este tutorial, lo guiaremos a través del proceso de configuración y ajuste de los tokens de acceso personal de Git. Aprenderá cómo generar, proteger y administrar estos tokens, así como comprender su importancia en el ecosistema de Git. Al final de esta guía, tendrá una comprensión sólida de cómo utilizar los tokens de acceso personal de manera efectiva para operaciones seguras de Git.

gh auth login

Este laboratorio (Lab) requiere una conexión a Internet para el aprendizaje, por lo que solo los usuarios Pro pueden iniciar la máquina virtual (VM). Actualice su cuenta a Pro.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/SetupandConfigGroup(["Setup and Config"]) git(("Git")) -.-> git/GitHubIntegrationToolsGroup(["GitHub Integration Tools"]) git/SetupandConfigGroup -.-> git/config("Set Configurations") git/SetupandConfigGroup -.-> git/git("Show Version") git/GitHubIntegrationToolsGroup -.-> git/cli_config("Configure CLI") subgraph Lab Skills git/config -.-> lab-393036{{"Cómo configurar el token de acceso personal de Git"}} git/git -.-> lab-393036{{"Cómo configurar el token de acceso personal de Git"}} git/cli_config -.-> lab-393036{{"Cómo configurar el token de acceso personal de Git"}} end

Comprender los Tokens de Acceso Personal de Git

Git es un sistema de control de versiones distribuido ampliamente utilizado que permite a los desarrolladores colaborar en proyectos, realizar un seguimiento de los cambios y administrar repositorios de código. Un aspecto esencial para utilizar Git de manera efectiva es la autenticación segura al interactuar con repositorios remotos.

¿Qué son los Tokens de Acceso Personal?

Los Tokens de Acceso Personal (PATs, por sus siglas en inglés) son credenciales de autenticación que te permiten acceder de forma segura a tus repositorios de Git sin utilizar tu nombre de usuario y contraseña. Funcionan de manera similar a las contraseñas, pero ofrecen varias ventajas:

  1. Mayor seguridad: Los PATs se pueden revocar o renovar sin cambiar la contraseña principal de tu cuenta.
  2. Permisos detallados: Puedes limitar las acciones que un token puede realizar asignando ámbitos (scopes) específicos.
  3. Soporte para automatización: Los PATs permiten el acceso programático para scripts, pipelines de CI/CD y otras herramientas.
  4. Compatibilidad con autenticación multifactor: Los PATs funcionan sin problemas con cuentas que tienen habilitada la autenticación multifactor (MFA).

¿Por qué usar Tokens de Acceso Personal?

Muchas plataformas de alojamiento de Git, incluyendo GitHub, GitLab y Bitbucket, están eliminando gradualmente la autenticación basada en contraseñas para las operaciones de Git. Esta transición se debe principalmente a preocupaciones de seguridad. Los Tokens de Acceso Personal ofrecen una alternativa más segura que reduce el riesgo asociado con las credenciales de acceso general y de larga duración.

Cuando utilizas un token de acceso personal en lugar de una contraseña:

  • Puedes limitar las capacidades del token solo a lo necesario.
  • Puedes crear múltiples tokens para diferentes fines.
  • Puedes revocar tokens individuales sin afectar a los demás.
  • Mantienes mejores registros de auditoría de acceso y uso.

En los siguientes pasos, crearemos un token de acceso personal y configuraremos Git para que lo utilice para la autenticación.

Generar un Token de Acceso Personal en GitHub

En este paso, generaremos un Token de Acceso Personal en GitHub. El proceso es similar en otras plataformas de Git como GitLab o Bitbucket, con pequeñas diferencias en la interfaz de usuario.

Crear un Token en GitHub

Siga estos pasos para generar su token de acceso personal:

  1. Abra una terminal e instale la herramienta CLI de GitHub, que proporciona una forma conveniente de interactuar con GitHub:

    sudo apt-get update
    sudo apt-get install -y gh
  2. Autentíquese con GitHub ejecutando:

    gh auth login
gh auth login

Siga las indicaciones interactivas:

  • Seleccione "GitHub.com" cuando se le pregunte sobre la cuenta.
  • Elija "HTTPS" como protocolo preferido.
  • Confirme que desea autenticarse con sus credenciales de GitHub.
  • Elija "Iniciar sesión con un navegador web" cuando se le solicite el método de autenticación.

Se mostrará un código de un solo uso. GitHub se abrirá en su navegador, o se le pedirá que visite una URL y ingrese este código.

  1. Después de una autenticación exitosa, genere un nuevo token de acceso personal:

    gh auth token

    Este comando mostrará su token de autenticación actual. Copie este token y guárdelo en un lugar seguro, ya que lo necesitaremos en los siguientes pasos.

    Si prefiere crear un token con ámbitos (scopes) específicos directamente, puede usar:

    gh auth refresh -s repo,read:org
    gh auth token

    Esto crea un token con acceso de lectura a repositorios y organizaciones.

  2. Alternativamente, puede generar un token directamente desde el sitio web de GitHub:

gh auth login
  • Visite GitHub en https://github.com
  • Haga clic en su foto de perfil en la esquina superior derecha.
  • Seleccione "Settings" (Configuración).
  • Desplácese hacia abajo y haga clic en "Developer settings" (Configuración de desarrollador) en la barra lateral izquierda.
  • Haga clic en "Personal access tokens" (Tokens de acceso personal) y luego en "Tokens (classic)" (Tokens [clásicos]).
  • Haga clic en "Generate new token" (Generar nuevo token) y seleccione "Generate new token (classic)" (Generar nuevo token [clásico]).
  • Asigne un nombre descriptivo a su token, como "Acceso CLI de Git".
  • Seleccione los ámbitos (scopes) adecuados (como mínimo, seleccione "repo" para acceso a repositorios).
  • Haga clic en "Generate token" (Generar token).
  • Copie el token generado y guárdelo de forma segura.

Recuerde almacenar su token en un lugar seguro, ya que GitHub solo lo mostrará una vez. Si lo pierde, tendrá que generar uno nuevo.

Configurar Git para Usar su Token de Acceso Personal

Ahora que ha generado un token de acceso personal, debe configurar Git para que lo utilice para la autenticación al interactuar con repositorios remotos. Hay varios métodos para lograr esto.

Método 1: Usar el Asistente de Credenciales de Git

El asistente de credenciales de Git permite que Git recuerde sus credenciales, por lo que no es necesario que las ingrese cada vez.

  1. Abra una terminal y navegue hasta el directorio de su proyecto:

    cd ~/project
  2. Configure Git para que utilice el asistente de credenciales para almacenar sus credenciales:

    git config --global credential.helper store

    Nota: Esto almacenará sus credenciales sin cifrar en su disco. Para una opción más segura, puede usar el asistente de caché en su lugar, que almacena las credenciales temporalmente en la memoria:

    git config --global credential.helper 'cache --timeout=3600'

    Esto almacenará sus credenciales en la memoria durante 1 hora (3600 segundos).

  3. Cree un repositorio de Git de muestra para probar su configuración:

    mkdir -p ~/project/test-repo
    cd ~/project/test-repo
    git init
  4. Agregue un repositorio remoto (deberá reemplazarlo con su nombre de usuario real de GitHub):

    git remote add origin https://github.com/yourusername/test-repo.git
  5. La próxima vez que Git requiera autenticación (por ejemplo, al enviar o recibir cambios), se le pedirá que ingrese sus credenciales. Proporcione su nombre de usuario de GitHub y utilice su token de acceso personal como contraseña.

Método 2: Usar la Autenticación Basada en URL

Otro enfoque es incrustar su token directamente en la URL del repositorio:

  1. En el directorio de su proyecto, configure la URL del repositorio remoto con su token:

    git remote set-url origin https://[email protected]/yourusername/test-repo.git

    Reemplace YOUR_TOKEN con su token de acceso personal real y yourusername con su nombre de usuario de GitHub.

  2. Cree un archivo de prueba para verificar la configuración:

    echo "## Test Repository" > README.md
    git add README.md
    git commit -m "Initial commit"

Método 3: Usar el Archivo de Configuración de Git

También puede editar directamente el archivo de configuración de Git:

  1. Cree o edite el archivo .git/config en su repositorio:

    nano ~/project/test-repo/.git/config
  2. Actualice la URL del repositorio remoto origin para incluir su token:

    [remote "origin"]
        url = https://[email protected]/yourusername/test-repo.git
        fetch = +refs/heads/*:refs/remotes/origin/*

    Reemplace YOUR_TOKEN con su token de acceso personal real y yourusername con su nombre de usuario de GitHub.

  3. Guarde el archivo presionando Ctrl+O, luego Enter, y salga con Ctrl+X.

Por razones de seguridad, el método del asistente de credenciales (Método 1) generalmente se recomienda para la mayoría de los usuarios, ya que evita almacenar su token directamente en los archivos de configuración.

Probar su Token de Acceso Personal

Después de configurar Git para usar su token de acceso personal, es importante verificar que la autenticación funcione correctamente. En este paso, probaremos el token realizando operaciones comunes de Git.

Crear un Repositorio de Prueba en GitHub

Primero, creemos un repositorio de prueba en GitHub utilizando la interfaz de línea de comandos (CLI) de GitHub:

  1. Crea un nuevo repositorio en GitHub:

    cd ~/project
    gh repo create test-pat-repo --private --clone
    cd test-pat-repo

    Este comando crea un nuevo repositorio privado llamado "test-pat-repo" y lo clona en tu máquina local.

Probar Operaciones Básicas de Git

Ahora, realicemos algunas operaciones básicas de Git para asegurarnos de que tu token de acceso personal funcione correctamente:

  1. Crea un archivo README simple:

    echo "## Test PAT Repository" > README.md
    echo "This repository is used to test Personal Access Token configuration." >> README.md
  2. Agrega y confirma el archivo:

    git add README.md
    git commit -m "Add README file"
  3. Envía los cambios a GitHub:

    git push -u origin main

    Si tu token de acceso personal está configurado correctamente, el envío debe ser exitoso sin solicitar una contraseña. Si estás usando el asistente de credenciales y este es tu primer envío, es posible que se te solicite tu nombre de usuario y token, que luego se almacenarán para uso futuro.

  4. Realiza otro cambio para verificar las credenciales almacenadas:

    echo "### Additional Information" >> README.md
    echo "This section contains additional information about the repository." >> README.md
    git add README.md
    git commit -m "Update README with additional information"
    git push

    Este segundo envío debe continuar sin ningún aviso de autenticación, lo que confirma que tu token se está utilizando correctamente.

Verificar el Acceso al Repositorio

Para confirmar aún más que tu token está funcionando correctamente, puedes listar tus repositorios:

gh repo list --limit 5

Este comando debe mostrar una lista de tus repositorios de GitHub, incluyendo el repositorio de prueba que acabamos de crear. Si este comando se ejecuta correctamente, confirma que tu token de acceso personal tiene los permisos correctos para acceder al repositorio.

Si encuentras algún problema durante estas pruebas, vuelve a comprobar la configuración de tu token y asegúrate de que el token tenga los ámbitos (permisos) necesarios para las operaciones que estás intentando realizar.

Administrar y Rotar sus Tokens de Acceso Personal

Los tokens de acceso personal deben tratarse con el mismo nivel de cuidado que las contraseñas. En este último paso, discutiremos las mejores prácticas para administrar y rotar sus tokens para mantener la seguridad.

Listar sus Tokens de Acceso Personal

Para ver sus tokens de acceso personal existentes en GitHub:

  1. Usando la CLI de GitHub:

    gh auth status

    Este comando muestra información sobre su estado de autenticación actual, incluyendo el token que se está utilizando.

  2. Alternativamente, puede ver todos sus tokens a través de la interfaz web de GitHub:

    • Vaya a GitHub.com e inicie sesión.
    • Haga clic en su foto de perfil en la esquina superior derecha.
    • Seleccione "Settings" (Configuración).
    • Navegue a "Developer settings" (Configuración de desarrollador) > "Personal access tokens" (Tokens de acceso personal) > "Tokens (classic)" (Tokens [clásicos]).

Mejores Prácticas de Seguridad de Tokens

Para mantener la seguridad de sus tokens de acceso personal, siga estas mejores prácticas:

  1. Limite los ámbitos (scopes) del token: Conceda solo los permisos mínimos necesarios para el uso previsto del token.

  2. Use nombres descriptivos: Asigne nombres significativos a sus tokens que indiquen su propósito y uso.

  3. Establezca fechas de vencimiento: Para tokens no críticos, establezca una fecha de vencimiento para forzar la rotación periódica.

    Para crear un token con una fecha de vencimiento utilizando la CLI de GitHub:

    gh auth refresh -s repo,read:org --expiry 30d
    gh auth token

    Esto crea un token que expira en 30 días.

  4. Audite periódicamente los tokens: Revise periódicamente sus tokens y revóque cualquier token que ya no sea necesario.

  5. Almacene los tokens de forma segura: Nunca almacene tokens en repositorios públicos, archivos sin cifrar o compártalos con otros.

  6. Use variables de entorno: Cuando utilice tokens en scripts o aplicaciones, guárdelos como variables de entorno en lugar de codificarlos de forma rígida.

    Por ejemplo:

    export GITHUB_TOKEN=your_token_here

Revocar un Token de Acceso Personal

Si sospecha que un token ha sido comprometido o ya no es necesario, revóquelo inmediatamente:

  1. Usando la CLI de GitHub (reemplace TOKEN con su token):

    gh auth logout

    Esto lo desconecta e invalida el token actual.

  2. A través de la interfaz web de GitHub:

    • Vaya a GitHub.com e inicie sesión.
    • Navegue a "Settings" (Configuración) > "Developer settings" (Configuración de desarrollador) > "Personal access tokens" (Tokens de acceso personal) > "Tokens (classic)" (Tokens [clásicos]).
    • Encuentre el token que desea revocar.
    • Haga clic en "Delete" (Eliminar) y confirme la acción.

Rotar sus Tokens

La rotación periódica de tokens es una buena práctica de seguridad. Así es como puede rotar sus tokens:

  1. Genere un nuevo token con los mismos permisos que el antiguo.
  2. Actualice sus aplicaciones y configuraciones para usar el nuevo token.
  3. Pruebe que todo funcione con el nuevo token.
  4. Revoque el token antiguo.

Para procesos automatizados, considere usar variables de entorno o bóvedas seguras para almacenar los tokens, lo que facilita la rotación.

## Generate a new token
gh auth refresh -s repo,read:org
NEW_TOKEN=$(gh auth token)

## Update your Git remote URL with the new token
git remote set-url origin https://${NEW_TOKEN}@github.com/yourusername/your-repo.git

## Verify it works
git fetch

## Revoke the old token through GitHub website
echo "Remember to revoke your old token in GitHub settings"

Al seguir estas mejores prácticas, puede mantener un acceso seguro a sus repositorios de Git mientras minimiza el riesgo de acceso no autorizado.

Resumen

En este tutorial, has aprendido cómo trabajar de manera efectiva con los tokens de acceso personal de Git. Aquí está un resumen de lo que has logrado:

  1. Comprendiste la importancia y los beneficios de utilizar tokens de acceso personal para la autenticación de Git.
  2. Generaste un token de acceso personal en GitHub utilizando tanto la CLI como la interfaz web.
  3. Configuraste Git para que utilice tu token de acceso personal para las operaciones de repositorio.
  4. Probaste la configuración de tu token realizando operaciones básicas de Git.
  5. Aprendiste las mejores prácticas para administrar, proteger y rotar tus tokens.

Al utilizar tokens de acceso personal en lugar de contraseñas, has mejorado la seguridad de tu flujo de trabajo de Git. Ahora puedes crear tokens con permisos específicos, limitar su vida útil y revocarlos cuando sea necesario sin afectar las credenciales de tu cuenta principal.

Recuerda estos puntos clave:

  • Siempre utiliza los permisos mínimos necesarios para tus tokens.
  • Almacena los tokens de forma segura y nunca los compartas.
  • Rota los tokens regularmente, especialmente para repositorios sensibles.
  • Revoca inmediatamente los tokens no utilizados o comprometidos.

Con estas prácticas en su lugar, puedes mantener un acceso seguro a tus repositorios de Git mientras minimizas los riesgos de seguridad.