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.
- 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
Si eres miembro de una empresa con usuarios administrados, te autenticarás en GitHub en tu buscador utilizando tu IdP. Para más información, consulta Acerca de Enterprise Managed Users en la documentación de GitHub Enterprise Cloud
Si no eres miembro de una empresa con usuarios administrados, te autenticarás con tu nombre de usuario y contraseña de GitHub, o una clave de paso. También puedes usar la autenticación en dos fases y el inicio de sesión único de SAML, que los propietarios de la organización y de la empresa pueden requerir.
Nota:
A partir de marzo de 2023, GitHub exigió que todos los usuarios que contribuyan con código en GitHub.com habiliten una o varias formas de autenticación en dos fases (2FA). Si estaba en un grupo elegible, habría recibido un correo electrónico de notificación cuando ese grupo fue seleccionado para la inscripción, marcando el comienzo de un período de inscripción 2FA de 45 días, y vería banners que le pedirán que se inscribiese en 2FA en GitHub.com. Si no recibió una notificación, no formaba parte de un grupo al que se le exige que habilite 2FA, aunque se recomienda encarecidamente.
Para obtener más información sobre el lanzamiento de la inscripción 2FA, consulta esta entrada de blog.
Si necesita usar varias cuentas en los datos GitHub.com, 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
- Si no has habilitado la autenticación en dos fases, GitHub puede solicitar una verificación adicional cuando inicies sesión desde un dispositivo nuevo o no reconocido, como un nuevo perfil de explorador, un explorador en el que se hayan eliminado las cookies o un equipo nuevo. Para más información, consulta Comprobación de nuevos dispositivos al iniciar sesión.
-
**Inicio de sesión de redes sociales**- Se autenticará con Google o Apple, que son los proveedores de inicios de sesión sociales admitidos al crear su cuenta en GitHub. Se recomienda configurar también 2FA y agregar una clave de acceso o una contraseña como mecanismo de recuperación de cuentas adicional.
- Si tienes una cuenta existente creada con una contraseña, puedes agregar el correo electrónico de inicio de sesión de redes sociales a la cuenta. Esto te permite usar tu identidad de inicio de sesión social como reemplazo del primer factor (contraseña) al iniciar sesión en GitHub.
- Puedes desvincular las identidades de inicio de sesión de redes sociales desde la página de configuración del correo electrónico de GitHub. Para más información, consulta Desvinculación de la dirección de correo electrónico de una cuenta bloqueada
-
**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 o enviado en un mensaje de texto (SMS).
-
Después de configurar la autenticación en dos fases, la cuenta entra en un período de comprobación durante 28 días. Puedes salir del período de comprobación si realizas correctamente la autenticación de dos factores en esos 28 días. Si no hace la 2FA en ese intervalo de tiempo, se le pedirá que haga dicha autenticación dentro de una de las sesiones de GitHub existentes.
-
Si no puedes realizar la autenticación en dos fases para superar la comprobación del día 28, se te proporcionará un acceso directo que te permitirá volver a configurar dicha autenticación. Debes volver a definir la configuración para poder acceder al resto de GitHub. Para obtener más información, consulta Acceso a GitHub mediante la autenticación en dos fases y Configurar la autenticación de dos factores.
-
Además de la autenticación con una aplicación TOTP o un mensaje de texto, opcionalmente puedes agregar un método alternativo de autenticación con GitHub Mobile o una clave de seguridad mediante WebAuthn. Para más información, consulta Configuración de la autenticación en dos fases con GitHub Mobile y Configuración de la autenticación en dos fases con una clave de seguridad.
Nota:
Si no puedes usar ningún método de recuperación, has perdido permanentemente el acceso a tu cuenta. Sin embargo, puede desvincular una dirección de correo electrónico vinculada a la cuenta bloqueada. La dirección de correo electrónico desvinculada se puede vincular después a una cuenta nueva o existente. Para más información, consulta Desvinculación de la dirección de correo electrónico de una cuenta bloqueada.
-
-
**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.
-
**Inicio de sesión único de SAML**- Para poder acceder a los recursos que pertenecen a una organización o una cuenta empresarial que usa el inicio de sesión único de SAML, es posible que tengas que autenticarte también a través de un IdP. Para obtener más información, consulte Acerca de la autenticación con el inicio de sesión único (SSO) en la documentación de GitHub Enterprise Cloud.
Cookies de sesión
GitHub usa cookies para proporcionar servicios y reforzar la seguridad. Puedes revisar detalles sobre las cookies de GitHub en Cookies de GitHub.
- Los dominios gist.github.com y github.com 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, , debe autenticarse con un personal access token. Cuando Git le solicite la contraseña, escriba los datos personal access token. Como alternativa, puede usar un asistente de credenciales como Administrador de credenciales de Git. La autenticación basada en contraseña para Git se ha quitado en favor de métodos de autenticación más seguros. Para más información, consulta Administración de tokens de acceso personal. Cada vez que use Git para autenticarse con GitHub, se le pedirá que escriba sus credenciales, a no ser que las almacene en caché con un asistente para credenciales.
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 GitHub.com. 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 GitHub.com. 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.
Autorizar para el inicio de sesión única de SAML
Para usar un personal access token o una clave SSH para acceder a los recursos propiedad de una organización que usa el inicio de sesión único de SAML, también tendrás que autorizar el token personal o la clave SSH. Para obtener más información, consulte Autorización de un token de acceso personal para su uso con el inicio de sesión único o Autorización de una clave SSH para su uso con el inicio de sesión único en la documentación de GitHub Enterprise Cloud.
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 |