Manual/README.md
2026-10-08 21:48:24 +00:00

8.5 KiB

Guía definitiva: Personal Access Token (PAT) en Git para Linux, Windows y macOS

Este manual explica cómo generar un Personal Access Token (PAT) en Forgejo, Gitea o GitHub y configurar el almacenamiento de credenciales de forma segura en los tres principales sistemas operativos: Linux, Windows y macOS.

1. Generación del Personal Access Token (PAT)

Antes de configurar tu sistema operativo, debes generar el token desde la plataforma web.

  1. Inicia sesión en tu servidor Forgejo, Gitea o GitHub.
  2. Dirígete a tu foto de perfil, ubicada en la esquina superior derecha, y accede a Configuración (Settings).
  3. Selecciona Aplicaciones (Applications) o Developer settings, según la plataforma, y busca Personal Access Tokens.
  4. Haz clic en Generar nuevo token.
  5. Asigna un nombre descriptivo, por ejemplo, laptop-desarrollo, y selecciona los permisos necesarios. Aplica el principio de mínimo privilegio y concede únicamente los permisos requeridos para tus operaciones Git.
  6. Copia el token generado y guárdalo en un lugar seguro.

Importante: El token sustituye a tu contraseña habitual cuando Git solicita autenticación mediante HTTPS. No lo compartas ni lo incluyas directamente en scripts o repositorios.

2. Configuración en Linux

En Linux, puedes almacenar las credenciales utilizando Git Credential Manager, git-credential-libsecret o una caché temporal en memoria.

Opción A: Libsecret (recomendado para entornos con interfaz gráfica)

Libsecret permite integrar Git con los gestores de secretos del entorno de escritorio, como GNOME Keyring.

Paso 1. Instalar las dependencias

Ubuntu/Debian:

sudo apt update
sudo apt install libsecret-1-0 libsecret-1-dev make gcc

Fedora/RHEL:

sudo dnf install libsecret-devel make gcc

Los nombres de los paquetes pueden variar según la distribución y su versión.

Paso 2. Compilar el helper de Git

En sistemas Debian o Ubuntu donde se encuentre disponible el código fuente del helper:

sudo make --directory=/usr/share/doc/git/contrib/credential/libsecret

Si la ruta no existe, comprueba dónde está instalado Git y si tu distribución proporciona el código fuente de sus herramientas auxiliares.

Paso 3. Configurar Git

Si el ejecutable compilado se encuentra en la ruta indicada, configura el helper:

git config --global credential.helper \
  /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret

Verifica la configuración:

git config --global --get credential.helper

Opción B: Caché temporal en memoria

Esta opción es útil para servidores o entornos de línea de comandos sin interfaz gráfica.

El siguiente comando mantiene las credenciales en memoria durante ocho horas:

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

El valor 28800 representa ocho horas en segundos.

Nota de seguridad: La caché es temporal y no equivale a un almacén persistente cifrado. Cuando expire, Git volverá a solicitar las credenciales. Para servidores, considera también Git Credential Manager u otro mecanismo seguro compatible con el entorno.

3. Configuración en Windows

En Windows, Git Credential Manager (GCM) permite almacenar y recuperar credenciales mediante los mecanismos seguros del sistema operativo.

Paso 1. Verificar la instalación

Instala Git para Windows desde su sitio oficial. Git Credential Manager suele estar incluido en las instalaciones actuales.

Paso 2. Configurar el administrador de credenciales

Abre PowerShell o Git Bash y ejecuta:

git config --global credential.helper manager

Comprueba el valor configurado:

git config --global --get credential.helper

Paso 3. Autenticarse

Ejecuta una operación Git sobre un repositorio remoto HTTPS:

git fetch

Si todavía no existen credenciales almacenadas, Git Credential Manager iniciará el proceso de autenticación correspondiente.

Cuando se soliciten credenciales:

  • Usuario: tu nombre de usuario en Forgejo, Gitea o GitHub.
  • Contraseña: tu Personal Access Token (PAT), si la plataforma utiliza autenticación mediante token.

Dependiendo de la plataforma y de la configuración de GCM, es posible que se abra una ventana de inicio de sesión en lugar de solicitar el token directamente.

4. Configuración en macOS

En macOS, Git puede utilizar Keychain Access (Acceso a Llaveros) para almacenar las credenciales de forma persistente.

Paso 1. Activar el helper de Keychain

Abre Terminal y ejecuta:

git config --global credential.helper osxkeychain

Verifica la configuración:

git config --global --get credential.helper

Paso 2. Autenticarse por primera vez

Desde un repositorio local, ejecuta:

git fetch

Cuando Git solicite las credenciales:

  • Username: tu nombre de usuario en Forgejo, Gitea o GitHub.
  • Password: tu Personal Access Token (PAT), si corresponde a la autenticación configurada.

Una vez almacenadas, las credenciales podrán reutilizarse en operaciones posteriores, según la configuración del servidor y del llavero.

5. Matriz de comandos por sistema operativo

Sistema operativo Comando de configuración global Almacenamiento
Linux (GUI) git config --global credential.helper /ruta/al/git-credential-libsecret GNOME Keyring u otro almacén compatible
Linux (CLI/servidor) git config --global credential.helper 'cache --timeout=28800' Memoria RAM temporal
Windows git config --global credential.helper manager Gestor de credenciales mediante GCM
macOS git config --global credential.helper osxkeychain Llavero de macOS

Importante: En Linux, reemplaza /ruta/al/git-credential-libsecret por la ruta real del ejecutable instalado. La ruta puede variar entre distribuciones.

6. Mantenimiento: borrar o actualizar credenciales

Si tu token expira, se revoca o necesitas sustituirlo, debes eliminar las credenciales almacenadas para que Git vuelva a solicitarlas.

Linux: Libsecret

Si tienes disponible el helper git-credential-libsecret, puedes enviarle una solicitud para borrar las credenciales del servidor:

printf 'protocol=https\nhost=git.alphas.team\n\n' \
  | git credential-libsecret erase

Windows: Administrador de credenciales

  1. Abre el menú Inicio.
  2. Busca Administrador de credenciales.
  3. Accede a Credenciales de Windows.
  4. Busca la entrada asociada a git.alphas.team.
  5. Selecciona la entrada correspondiente y haz clic en Quitar.

El nombre exacto de la entrada puede variar según la versión de Git y el método de autenticación utilizado.

macOS: Keychain

Para eliminar las credenciales HTTPS almacenadas mediante el helper osxkeychain, ejecuta:

printf 'protocol=https\nhost=git.alphas.team\n\n' \
  | git credential-osxkeychain erase

Git volverá a solicitar las credenciales cuando sean necesarias.

7. Buenas prácticas de seguridad

  • Mínimo privilegio: concede al PAT únicamente los permisos que necesites.
  • Tokens individuales: utiliza un token por equipo, aplicación o propósito cuando sea viable.
  • Expiración: configura una fecha de vencimiento y renueva los tokens antes de que expiren.
  • Protección de secretos: no guardes tokens en archivos de configuración compartidos, repositorios, capturas de pantalla ni scripts.
  • Revocación: revoca inmediatamente cualquier token que sospeches que ha sido expuesto.
  • HTTPS: utiliza URLs HTTPS para los repositorios cuando autentiques mediante PAT.
  • Verificación: revisa el helper activo con git config --show-origin --get-all credential.helper si Git no utiliza el mecanismo esperado.

8. Referencias oficiales


Fin de la guía.