Acerca de la autenticación en GitHub
Para mantener tu cuenta segura, debes autenticarte antes de que puedas acceder a algunos de los recursos en GitHub. Cuando te autenticas en GitHub, proporcionas o confirmas las credenciales que son específicas para ti y así compruebas de que eres exactamente quien estás declarando ser.
Puedes acceder a tus recursos en GitHub de muchas maneras: en el buscador, mediante GitHub Desktop o de alguna otra aplicación de escritorio, con la API o mediante la línea de comandos. Cada forma de acceder a GitHub es compatible con diferentes modalidades de autenticación.
- Tu proveedor de identidad (IdP)
- Nombre de usuario y contraseña (o inicio de sesión de redes sociales) con autenticación en dos fases o una clave de acceso (solo GitHub Free y GitHub Enterprise Cloud)
- Personal access token
- Llave SSH
Autenticarte en tu buscador
Puedes autenticarte en GitHub desde el explorador de diversas formas.
Si necesita usar varias cuentas en los datos tu instancia de GitHub Enterprise Server, como una cuenta personal y una cuenta de servicio, puede cambiar rápidamente entre las cuentas sin tener que volver a autenticarse siempre cada vez. Para más información, consulta Cambio entre cuentas.
-
**Solo nombre de usuario y contraseña**- Crearás una contraseña cuando crees tu cuenta en GitHub. Te recomendamos que utilices un administrador de contraseñas para generar una contraseña aleatoria y única. Para más información, consulta Crear una contraseña segura
-
**Autenticación en dos fases(2FA)** (recomendada)-
Si habilitas la autenticación en dos fases (2FA), después de iniciar sesión con el inicio de sesión de redes sociales o tu nombre de usuario y contraseña, se te pedirá que escribas un código de una aplicación de contraseñas de un solo uso y duración definida (TOTP) en el dispositivo móvil. Para obtener más información, consulta Acceso a GitHub mediante la autenticación en dos fases.
-
Además de la autenticación con una aplicación TOTP, opcionalmente puedes agregar un método alternativo de autenticación con una clave de seguridad mediante WebAuthn. Para más información, consulta Configuración de la autenticación en dos fases con una clave de seguridad.
-
-
**Clave de paso**- Puedes agregar una clave de paso a tu cuenta para habilitar un inicio de sesión seguro y sin contraseña. Las claves de paso cumplen los requisitos de contraseña y 2FA, así que puedes completar el inicio de sesión con un solo paso. Consulta Acerca de las claves de paso.
-
**Autenticación externa**- El administrador del sitio puede configurar tu instancia de GitHub Enterprise Server para usar la autenticación externa en lugar de un nombre de usuario y una contraseña. Para obtener más información, consulta Aspectos básicos de la administración de identidades y acceso.
Cookies de sesión
GitHub usa cookies para proporcionar servicios y reforzar la seguridad.
- Los dominios gist.HOSTNAME y dominio base de su instancia utilizan cookies independientes.
- GitHub normalmente marca una sesión de usuario para su eliminación después de dos semanas de inactividad.
- GitHub no elimina inmediatamente una sesión al cerrar la sesión. Periódicamente, GitHub elimina automáticamente las sesiones expiradas.
Autenticarte con GitHub Desktop
Puedes autenticarte con GitHub Desktop utilizando tu buscador. Para más información, consulta Autenticación en GitHub en GitHub Desktop.
Autenticarte con la API
Puedes autenticarte con la API de varias formas. Para más información, consulta Autenticación en la API REST.
Autenticarse en la API con un personal access token
Si deseas usar la API de REST de GitHub para uso personal, puedes crear un personal access token. Si es posible, GitHub recomienda usar un fine-grained personal access token en lugar de un personal access token (classic). Para obtener más información sobre la creación de un personal access token, consulta Administración de tokens de acceso personal.
Autenticación en la API con una aplicación
Si deseas usar la API en nombre de una organización u otro usuario, GitHub recomienda usar un GitHub App. Para más información, consulta Acerca de la autenticación con una aplicación de GitHub.
También puedes crear un token de OAuth con una OAuth app para acceder a la API REST. Sin embargo, GitHub recomienda usar una GitHub App en su lugar. Las GitHub Apps permiten un mayor control sobre el acceso y el permiso que tiene la aplicación.
Autenticación en la API en un flujo de trabajo de GitHub Actions
Si deseas usar la API en un flujo de trabajo de GitHub Actions, GitHub recomienda autenticarse con el GITHUB_TOKEN integrado en lugar de crear un token. Puedes conceder permisos a GITHUB_TOKEN con la clave permissions.
Ten en cuenta que GITHUB_TOKEN solo puede acceder a los recursos dentro del repositorio que contiene el flujo de trabajo. Si necesitas realizar cambios en los recursos fuera del repositorio de flujo de trabajo, deberás usar un personal access token o GitHub App.
Para más información, consulta Uso de GITHUB_TOKEN para la autenticación en flujos de trabajo.
Autenticarte con la línea de comandos
Puedes acceder a los repositorios en GitHub desde la línea de comandos en dos formas, HTTPS y SSH, y ambas tienen una forma diferente para autenticarte. El método para autenticarte se determina con base en si escoges una URL remota de HTTPS o SSH cuando clonas el repositorio. Para obtener más información sobre de qué forma obtener acceso, consulta Acerca de los repositorios remotos.
HTTPS
Puedes trabajar con todos los repositorios en GitHub a través de HTTPS, aún si estás detrás de un cortafuegos o de un proxy.
Si te autenticas con GitHub CLI, puedes autenticarte con un personal access token o a través del explorador web. Para obtener más información sobre la autenticación con GitHub CLI, consulta gh auth login.
Si se autentica sin la GitHub CLI, puede usar los métodos de autenticación cuya disponibilidad dependa de su proveedor de identidades.
En la tabla se muestran los métodos de autenticación disponibles según el proveedor de identidades configurado para su instancia. Diferentes IdPs pueden imponer restricciones específicas o habilitar determinadas características, por ejemplo, inhabilitar la autenticación de contraseñas. Para más detalles, consulta Administración de identidades y acceso.
| IdP | Métodos de autenticación disponibles | Más información |
|---|---|---|
| SAML | Personal access token | Autenticación de contraseña deshabilitada |
| LDAP | Personal access token o nombre de usuario / contraseña | El administrador del sitio puede deshabilitar la autenticación de contraseña |
| Autenticación integrada | Personal access token o nombre de usuario / contraseña | La autenticación de contraseña no se puede deshabilitar |
SSH
Puedes trabajar con todos los repositorios de GitHub a través de SSH, aunque los cortafuegos y proxies podrían rechazar las conexiones SSH.
Si te autenticas con elGitHub CLI, este encontrará llaves SSH públicas en tu máquina y te pedirá seleccionar una para cargar. Si GitHub CLI no encuentra una clave pública SSH para cargar, puede generar un par de claves SSH pública/privada y cargar la clave pública en tu cuenta de tu instancia de GitHub Enterprise Server. A continuación, podrás autenticarte con un personal access token o a través del explorador web. Para obtener más información sobre la autenticación con GitHub CLI, consulta gh auth login.
Si te autenticas sin GitHub CLI, deberás generar un par de claves pública y privada en tu máquina local y agregar la clave pública a tu cuenta de tu instancia de GitHub Enterprise Server. Para más información, consulta Generación de una nueva clave SSH y adición al agente SSH. Cada vez que uses Git para autenticarte con GitHub, se te pedirá que escribas la frase de contraseña de la clave SSH, a menos que hayas almacenado la clave.
Formatos de los tokens de GitHub
GitHub emite tokens que inician con un prefijo para indicar el tipo de los mismos.
| Tipo de token | Prefijo | Más información |
|---|---|---|
| Personal access token (classic) | ghp_ |
[AUTOTITLE](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#creating-a-personal-access-token-classic) |
| Fine-grained personal access token | github_pat_ |
Administración de tokens de acceso personal |
| Token de acceso OAuth | gho_ |
Autorización de aplicaciones de OAuth |
| Token de acceso de usuario para una GitHub App | ghu_ |
Autenticación con una aplicación de GitHub en nombre de un usuario |
| Token de acceso de instalación para una GitHub App | ghs_ |
Autenticación como una instalación de aplicación de GitHub |
| Actualizar un token para una GitHub App | ghr_ |
Actualización de tokens de acceso de usuario |