Guías de seguridad
Configurar la autenticación en dos pasos (2FA) de GitHub: app de autenticación, llaves de acceso, códigos de recuperación y qué hacer si pierdes el móvil
Cómo configurar el 2FA de GitHub según GitHub Docs: primero una app de autenticación, una llave de acceso como respaldo, dónde guardar los códigos de recuperación, cómo recuperar un dispositivo perdido (hasta 3 días hábiles) y cómo dejar el SMS.
Para quién es: quienes quieren añadir la autenticación en dos pasos (2FA: demostrar que eres tú con una app o una llave además de la contraseña) a su propia cuenta de GitHub, quienes han recibido el aviso de GitHub de «activar el 2FA», y quienes han cambiado o perdido el móvil y ya no pueden generar un código. Esta guía se basa en GitHub Docs, la documentación oficial de GitHub, y usa las etiquetas de los botones tal como aparecen allí (la interfaz de GitHub está en inglés).
Quién tiene que usar el 2FA en GitHub
Desde marzo de 2023, GitHub va implantando el 2FA obligatorio, grupo a grupo, para los usuarios que contribuyen código en GitHub.com. GitHub Docs enumera estos motivos:
- Publicar una app o una action para otros
- Crear una release de tu repositorio
- Contribuir a determinados repositorios de gran importancia (como los proyectos que sigue la Open Source Security Foundation), o ser administrador o colaborador de uno
- Ser propietario de una organización que contiene repositorios u otros usuarios
- Ser administrador o colaborador de un repositorio que ha publicado uno o más paquetes
- Ser administrador de una empresa (enterprise)
GitHub señala que estos criterios pueden cambiar con el tiempo. Cuando tu grupo es seleccionado, recibes un correo de aviso, empieza un periodo de inscripción de 45 días y aparecen banners en GitHub.com. Si nunca te llegó el correo, no estás en un grupo obligado, pero GitHub recomienda encarecidamente activar el 2FA de todos modos.
Tras el periodo de gracia de 7 días, no puedes acceder a GitHub.com hasta que actives el 2FA. Los tokens de acceso personal (tokens de API) y los tokens OAuth existentes siguen funcionando para que la automatización no se rompa. Pero una cuenta bloqueada no puede autorizar apps nuevas ni crear tokens nuevos.
La verificación por correo no cuenta como 2FA
A las cuentas sin 2FA se les puede pedir que confirmen un dispositivo nuevo con un código enviado por correo. GitHub Docs deja claro que esta comprobación por correo no es 2FA.
El motivo: quien controle tu bandeja de entrada puede tanto restablecer tu contraseña como superar la comprobación por correo. El segundo factor tiene que ser algo separado de tu correo, como una app de autenticación o una llave de acceso.
Qué método usar
GitHub admite cinco métodos de 2FA. GitHub Docs recomienda una app de autenticación TOTP como método principal y una llave de acceso o una llave de seguridad como respaldo. Si no tienes ninguna de las dos, sugiere GitHub Mobile como buen respaldo.
| Método | ¿Puede ser tu primer método? | Postura de GitHub Docs | Notas |
|---|---|---|---|
| App de autenticación (TOTP) | Sí | Método principal recomendado | GitHub recomienda apps con copia de seguridad en la nube |
| SMS (mensaje de texto) | Sí | No recomendado | Se puede interceptar y no resiste el phishing; no está disponible en todos los países |
| Llave de acceso (passkey) | No (después de TOTP o SMS) | Respaldo recomendado | Cubre la contraseña y el 2FA en un solo paso |
| Llave de seguridad | No (después de TOTP o SMS) | Respaldo recomendado | Solo cuenta como segundo factor, junto con tu contraseña |
| GitHub Mobile | No (después de TOTP o SMS) | Respaldo si no tienes llave de acceso ni llave de seguridad | Apruebas una notificación push en la app |
TOTP (contraseña de un solo uso basada en el tiempo) es una app que muestra un número nuevo de 6 dígitos cada 30 segundos. GitHub no exige ninguna app concreta, así que sirven Google Authenticator, Microsoft Authenticator, 1Password o cualquier otra app TOTP.
Las llaves de acceso y las llaves de seguridad no pueden ser el primer método porque, según GitHub Docs, se pierden con facilidad y por ahora se sincronizan en un abanico de dispositivos demasiado reducido. Así que el orden es: activa el 2FA con una app de autenticación y después añade una llave de acceso.
Principal: app de autenticación
Una app TOTP en el móvil, con la copia de seguridad en la nube activada
Respaldo: llave de acceso o llave de seguridad
Una llave de acceso en el ordenador o una llave física, para que perder el móvil no te deje fuera
Último recurso: códigos de recuperación
16 códigos, guardados lejos del móvil, por ejemplo en un gestor de contraseñas
Pasos de configuración (empieza por una app de autenticación)
Instala una app de autenticación
Instala una app TOTP en el móvil o en el ordenador. GitHub Docs recomienda una que haga copia de seguridad de los códigos en la nube, para que un dispositivo nuevo pueda generar los mismos códigos después de cambiar o perder el móvil.
Abre Password and authentication
Haz clic en tu foto de perfil en la esquina superior derecha de cualquier página de GitHub y luego en Settings. En la sección Access de la barra lateral, haz clic en Password and authentication.
Activa el 2FA y escanea el código QR
En la sección Two-factor authentication, haz clic en Enable two-factor authentication. Escanea el código QR con tu app y escribe el código de 6 dígitos en el campo bajo «Verify the code from the app» (verifica el código de la app).
Si no puedes escanearlo, haz clic en setup key para ver un código que puedes escribir a mano en la app.
Guarda los códigos de recuperación y termina
Bajo «Save your recovery codes» (guarda tus códigos de recuperación), haz clic en Download. Cuando estén guardados, haz clic en I have saved my recovery codes para activar el 2FA. Dónde guardarlos se explica en la sección siguiente.
Añade una llave de acceso como segundo método
En la misma página, bajo «Passkeys», haz clic en Add a passkey, confirma con tu contraseña u otro método y sigue las indicaciones. Los autenticadores de plataforma como Windows Hello, Face ID y Touch ID se pueden registrar como llaves de acceso.
Para una llave de seguridad física, haz clic en Add junto a «Security keys» y después en Register new security key. Para GitHub Mobile, inicia sesión en la app y permite las notificaciones push; el dispositivo queda entonces disponible para el 2FA.
Inicia sesión con 2FA en los 28 días siguientes
Al activar el 2FA, tu cuenta entra en un periodo de revisión de 28 días. Un inicio de sesión con 2FA correcto durante ese plazo lo da por terminado. Si llegas al día 28 sin ninguno, GitHub te pide que hagas el 2FA y, si falla, tienes que volver a configurar los ajustes de 2FA.
Dónde guardar los códigos de recuperación
Los códigos de recuperación son códigos de un solo uso que te permiten volver a entrar en tu cuenta cuando ningún método de 2FA está disponible. Son 16, y cada uno deja de funcionar una vez usado.
Buenos sitios
- Un gestor de contraseñas (lo recomienda GitHub Docs)
- Una copia impresa guardada en un lugar conocido de casa
- Un almacenamiento externo cifrado
Sitios que debes evitar
- Solo en el mismo móvil que tu app de autenticación (si pierdes el móvil, pierdes las dos cosas)
- Olvidados en la carpeta de Descargas (nombre por defecto github-recovery-codes.txt)
- Enviados a alguien por chat o por correo
Para verlos más adelante, haz clic en View junto a «Recovery codes» en la página Password and authentication y usa Download, Print o Copy. Generar códigos de recuperación nuevos invalida todos los generados antes, así que guarda el nuevo juego enseguida.
GitHub Docs también cita las claves SSH y los tokens de acceso personal como métodos de recuperación. Recomienda conservar las cookies de GitHub.com: si tu navegador borra las cookies cada día, nunca tendrás un dispositivo verificado para la recuperación, porque la cookie _device_id es la que demuestra que ya usaste ese dispositivo.
Si has perdido o cambiado el móvil
Lo que todavía tienes decide si vuelves a entrar al momento o esperas una revisión. Prueba esto por orden.
| Lo que todavía tienes | Qué hacer | Cuánto tarda |
|---|---|---|
| Un código de recuperación | En la pantalla de inicio de sesión, More options y luego 2FA recovery code | Inmediato |
| Una llave de acceso o una llave de seguridad | Inicia sesión con ella | Inmediato |
| Una copia de seguridad de la app de autenticación | Restaura la app en el móvil nuevo | Inmediato |
| Tu contraseña más un dispositivo usado antes, una clave SSH o un token de acceso personal | More options y luego Begin account or email recovery | Hasta tres días hábiles de revisión por el soporte de GitHub |
| Nada de lo anterior | La cuenta no se puede recuperar; desvincula tu correo y úsalo con una cuenta nueva | — |
Prueba primero un código de recuperación o una llave de acceso
Ve a https://github.com/login, introduce tu nombre de usuario y tu contraseña y, cuando te pida el 2FA, abre «More options». Elige 2FA recovery code e introduce un código, o usa tu llave de acceso. Una vez dentro, vuelve a configurar el 2FA en tu móvil nuevo enseguida.
Si no tienes nada, solicita la recuperación de la cuenta
En «More options», haz clic en Begin account or email recovery e introduce la contraseña de un solo uso enviada a tus direcciones de correo. Después elige un factor de verificación para la recuperación: Verify with this device (un dispositivo que ya usaste con esta cuenta), una clave SSH o un token de acceso personal.
Un miembro del soporte de GitHub revisa la solicitud y te responde por correo en un plazo de tres días hábiles. Las solicitudes adicionales enviadas durante ese tiempo no se revisan. Si encuentras tus códigos de recuperación u otro método de 2FA durante el periodo de espera de 3 a 5 días, puedes usarlos en cualquier momento.
Hay cuentas que ni el soporte de GitHub puede restaurar
GitHub Docs indica que, por motivos de seguridad, el soporte de GitHub no restaurará el acceso a una cuenta con 2FA si pierdes tanto tus credenciales de 2FA como tus métodos de recuperación. Además, las claves SSH se eliminan de las cuentas tras un periodo de inactividad, así que una clave antigua puede no servir.
En ese caso, la única opción es desvincular tu dirección de correo de la cuenta bloqueada y vincularla a una cuenta nueva o existente. Configura tu método de respaldo y guarda tus códigos de recuperación el mismo día que actives el 2FA.
Pasar del SMS a una app de autenticación
Si ya usas SMS, puedes añadir o cambiar métodos sin desactivar el 2FA. Como el 2FA sigue activo, se conservan tus códigos de recuperación y tu pertenencia a organizaciones que exigen 2FA.
Añade la app de autenticación
En Password and authentication, bajo «Two-factor methods», haz clic en Add junto al método de app de autenticación (TOTP). Escanea el código QR, introduce el código de 6 dígitos y haz clic en Save.
Hazla tu método preferido
Bajo «Two-factor authentication», en «Preferred 2FA method», elige la app de autenticación en el desplegable. Pasa a ser el método que se muestra primero al iniciar sesión.
Quita el SMS si ya no lo necesitas
En la lista «Two-factor methods», quita el SMS desde el menú que tiene al lado. GitHub Docs indica a los miembros de organizaciones que bloquean métodos inseguros que configuren un método seguro y después quiten el SMS. Antes de quitarlo, confirma que puedes iniciar sesión con la app.
Algunas organizaciones dejan fuera a los miembros que usan SMS
Los propietarios de una organización pueden activar «Only allow secure two-factor methods» (permitir solo métodos de dos factores seguros). GitHub Docs define como métodos seguros las llaves de acceso, las llaves de seguridad, las apps de autenticación y GitHub Mobile. En una organización así, un miembro con cualquier método SMS configurado no puede acceder a los recursos de la organización.
Otros ajustes que conviene revisar ya que estás
El 2FA protege el inicio de sesión. Los tokens y claves que ya emitiste, y las apps que ya autorizaste, siguen siendo vías de entrada separadas a tu cuenta. Revisarlos el mismo día solo lleva unos minutos más.
- Añade una llave de acceso
- Password and authentication, bajo «Passkeys», Add a passkey. Sirve como respaldo del 2FA y evita la contraseña
- Usa tokens con caducidad
- Settings, Developer settings, Personal access tokens, Fine-grained tokens, Generate new token. Elige una Expiration y limita el acceso a repositorios
- Depura las apps autorizadas
- Settings, Applications, pestañas Authorized OAuth Apps y Authorized GitHub Apps. Revoca lo que no reconozcas o ya no uses
- Revisa las claves SSH
- Settings, SSH and GPG keys. Borra las claves que no reconozcas o que sean antiguas
- Push protection para ti
- Settings, Code security, «Push protection for yourself». Bloquea los push que contienen secretos a repositorios públicos (activado por defecto)
- Alertas de Dependabot
- Settings, Code security, Dependabot alerts, Enable all. También puedes activarlo automáticamente para los repositorios nuevos
- Registro de seguridad
- Settings, Security log (en la sección Archives). Muestra las acciones de los últimos 90 días
Prefiere los tokens fine-grained a los classic
Un token de acceso personal (PAT: una cadena que se usa en lugar de la contraseña para operaciones de API y de git) tiene dos tipos, classic y fine-grained. GitHub recomienda los tokens fine-grained siempre que sea posible, porque un token classic llega a todos los repositorios de las organizaciones a las que tienes acceso y a todos los repositorios de tu cuenta personal.
GitHub elimina automáticamente los tokens que no se han usado en un año, pero aun así recomienda encarecidamente ponerles caducidad. Si solo necesitas GitHub desde la línea de comandos, GitHub CLI o Git Credential Manager evitan tener que crear un token. Por qué borrar de un repositorio un token filtrado no basta se explica en 543,699 credentials published on GitHub still worked (en inglés).
Dónde se aplican el secret scanning y la push protection
El secret scanning (detección automática de claves de API y secretos similares en el código) funciona de forma gratuita y automática en los repositorios públicos. La push protection del repositorio se activa en Settings del repositorio, Advanced Security, activando Secret Protection y después Push protection.
Los repositorios privados de una organización necesitan el producto de pago GitHub Secret Protection. Los repositorios privados de una cuenta personal normal no están cubiertos. Para ellos, una comprobación local antes del commit como gitleaks cubre el hueco.
Para propietarios de organizaciones: exige el 2FA a los miembros
En Settings de la organización, bajo Authentication security, selecciona «Require two-factor authentication for everyone in your organization» (exigir la autenticación en dos pasos a todos en tu organización) y haz clic en Save. Está disponible en los planes GitHub Free y GitHub Team. Si añades «Only allow secure two-factor methods», también dejas fuera a los miembros que usan SMS.
Una vez activado, los miembros sin 2FA pierden el acceso a los recursos de la organización, y los colaboradores externos sin 2FA se eliminan. Los bots y las cuentas de servicio también cuentan, así que avisa con antelación y comprueba en la página People quién usa ya el 2FA antes de activarlo.
Lista de comprobación
| Tarea | Dónde | Tiempo |
|---|---|---|
| Activar el 2FA con una app de autenticación | Settings, Password and authentication | 5 min |
| Guardar los códigos de recuperación en un gestor de contraseñas | Misma página, Recovery codes, View | 2 min |
| Añadir una llave de acceso o una llave de seguridad | Misma página, Passkeys / Security keys | 3 min |
| Iniciar sesión con 2FA en los 28 días siguientes | — | — |
| Sustituir los tokens classic por fine-grained con caducidad | Settings, Developer settings | 5 min por token |
| Depurar apps autorizadas y claves SSH | Settings, Applications / SSH and GPG keys | 5 min |
| Revisar la push protection y las alertas de Dependabot | Settings, Code security | 2 min |
| Si eres propietario de una organización, exigir el 2FA | Settings de la organización, Authentication security | Unos días, incluido el aviso |
Fuentes (registro público)
Los pasos, plazos y comportamientos de esta guía se contrastaron con GitHub Docs y otras páginas oficiales el 6 de octubre de 2026. Las pantallas y los criterios de GitHub cambian, así que revisa las páginas de origen antes de actuar.
- Configurar el 2FA: GitHub Docs, "Configuring two-factor authentication" / "Changing your two-factor authentication method" / "Countries where SMS authentication is supported"
- 2FA obligatorio: GitHub Docs, "About mandatory two-factor authentication" / GitHub Blog, "Raising the bar for software security: next steps for GitHub.com 2FA" (14 de diciembre de 2022)
- Recuperación: GitHub Docs, "Configuring two-factor authentication recovery methods" / "Recovering your account if you lose your 2FA credentials"
- Tokens: GitHub Docs, "Managing your personal access tokens"
- Apps y claves SSH: GitHub Docs, "Reviewing your authorized OAuth apps" / "Reviewing and revoking authorization of GitHub Apps" / "Reviewing your SSH keys" / "Reviewing your security log"
- Secret scanning y Dependabot: GitHub Docs, "About secret scanning" / "Managing push protection for users" / "Enabling push protection for your repository" / "Configuring Dependabot alerts"
- 2FA en organizaciones: GitHub Docs, "Requiring two-factor authentication in your organization"
Leer a continuación
- Elegir método: Elegir bien la MFA: qué significa «resistente al phishing» y por qué el SMS es débil / Glosario: ¿Qué es el 2FA? / ¿Qué es una llave de acceso (passkey)?
- Cuando se filtra un token: 543,699 credentials published on GitHub still worked (2026 study) (en inglés)
- Para los secretos antes del commit: detén los secretos antes del commit con gitleaks
- Limita los permisos de las claves: mínimo privilegio para claves SSH
- Dónde alojar: Git autoalojado vs GitHub: ¿cuál es realmente más seguro?
FAQ
Q¿Dónde activo la autenticación en dos pasos en GitHub?
Haz clic en tu foto de perfil en la esquina superior derecha, elige Settings y, en la sección Access de la barra lateral, haz clic en Password and authentication. En la sección Two-factor authentication, haz clic en Enable two-factor authentication y configúralo con una app de autenticación (TOTP) o con SMS. Las llaves de acceso (passkeys), las llaves de seguridad y GitHub Mobile se pueden añadir después de configurar TOTP o SMS.
Q¿Es obligatorio el 2FA en GitHub?
Desde marzo de 2023, GitHub exige el 2FA, por grupos, a los usuarios que contribuyen código en GitHub.com. Entre los motivos están crear una release, publicar una app o una action, ser administrador o colaborador de un repositorio que ha publicado paquetes y ser propietario de una organización. Los usuarios seleccionados reciben un correo, un periodo de inscripción de 45 días y un periodo de gracia de 7 días; después, GitHub.com no está disponible hasta que se activa el 2FA. Los usuarios que no han recibido el aviso no están obligados, pero GitHub lo recomienda encarecidamente.
Q¿Puedo usar SMS para el 2FA de GitHub?
En los países admitidos, sí; GitHub publica la lista. Pero GitHub Docs recomienda encarecidamente una app de autenticación TOTP en su lugar, porque el SMS se puede interceptar, no resiste el phishing y es menos fiable. Algunas organizaciones bloquean a los miembros que tienen configurado el 2FA por SMS.
QHe perdido o cambiado el móvil y no puedo obtener un código de 2FA de GitHub. ¿Y ahora qué?
Busca primero tus códigos de recuperación (el nombre de archivo por defecto es github-recovery-codes.txt) e introduce uno desde More options y luego 2FA recovery code en la pantalla de inicio de sesión. Una llave de acceso o una llave de seguridad registrada también sirve. Si no tienes nada de esto, elige Begin account or email recovery, verifica una contraseña de un solo uso enviada por correo y demuestra tu identidad con un dispositivo que hayas usado antes, una clave SSH o un token de acceso personal. El soporte de GitHub revisa la solicitud y te responde por correo en un plazo de tres días hábiles.
QTambién he perdido los códigos de recuperación. ¿Puede el soporte de GitHub restaurar mi cuenta?
No. GitHub Docs indica que, por motivos de seguridad, el soporte de GitHub no puede restaurar el acceso a una cuenta con 2FA si pierdes tus credenciales de 2FA y tus métodos de recuperación. En ese punto la cuenta está perdida; lo que puedes hacer es desvincular tu dirección de correo de la cuenta bloqueada y usarla con una cuenta nueva.
Q¿Cómo paso del SMS a una app de autenticación?
En Password and authentication, bajo Two-factor methods, haz clic en Add junto al método de app de autenticación (TOTP), escanea el código QR, introduce el código de 6 dígitos y haz clic en Save. Después elige la app en Preferred 2FA method y quita el SMS si ya no lo quieres. No hace falta desactivar el 2FA, así que tus códigos de recuperación siguen siendo válidos.