Ir al contenido
2FAAuth.Work
Idioma: Español
9 min de lectura Por 2faauth.work Política editorial

Cómo activar 2FA en GitHub, GitLab y cuentas de desarrollador

Una guía práctica para activar la autenticación de dos factores en GitHub, GitLab y otras cuentas de desarrollador, con apps de autenticación, passkeys, claves SSH y tokens.

Por qué las cuentas de desarrollador son objetivos prioritarios

Para un atacante, tu cuenta de GitHub o GitLab vale mucho más que un inicio de sesión de correo electrónico típico. Puede contener acceso de push a repositorios privados, claves de despliegue (deploy keys), derechos de publicación de paquetes y rutas directas a la infraestructura de producción. Comprométela, y el atacante hereda tus permisos.

Por eso una sola contraseña filtrada puede ser tan perjudicial. Los repositorios privados pueden contener archivos de configuración, claves de API y credenciales de bases de datos. Los pipelines de CI a menudo llevan tokens de nube que pueden crear recursos o inyectar código malicioso en las compilaciones. Los atacantes han usado cuentas de mantenedor robadas para enviar actualizaciones con puertas traseras a los usuarios posteriores.

La industria lo sabe. GitHub ya exige la autenticación de dos factores (2FA) para muchos contribuyentes activos, y GitLab y otras plataformas la recomiendan encarecidamente. Activarla por tu cuenta te pone por delante de la curva en lugar de detrás de un mandato.

Por último, la seguridad del desarrollador rara vez es solo personal. El código fuente de tu empleador y los proyectos de código abierto que mantienes dependen de tus credenciales. Activar 2FA protege a colegas, usuarios y tu propia reputación en un solo paso.

Elegir tu segundo factor

Aplicaciones de autenticación (TOTP)

Aplicaciones como Google Authenticator, Authy o 1Password generan un código de seis dígitos cada 30 segundos en tu teléfono. Funcionan sin conexión, no cuestan nada y son mucho más difíciles de interceptar que los mensajes de texto. Para la mayoría de los desarrolladores, esta es la base sensata.

Passkeys y llaves de seguridad

Las passkeys y las llaves de seguridad de hardware usan criptografía vinculada al propio dominio del sitio web, por lo que una página de phishing no puede engañarlas para iniciar sesión. GitHub y GitLab ambas las admiten. Si tus repositorios tienen valor real, registra una passkey o una llave de hardware como tu factor principal y mantén una aplicación TOTP como respaldo.

Códigos SMS

Los mensajes de texto pueden ser secuestrados mediante SIM swapping y dependen por completo de la seguridad de tu operador. Usa SMS solo si no hay nada más disponible, y cámbiate a otra opción tan pronto como puedas.

Códigos de recuperación

Cuando activas la 2FA, el sitio ofrece un conjunto de códigos de recuperación de un solo uso. Genéralos y luego guárdalos sin conexión: impresos en papel o en las notas seguras de un gestor de contraseñas. Si pierdes tu teléfono sin ellos, recuperar el acceso se convierte en un largo calvario con soporte.

Habilitar la 2FA de GitHub

Inicia sesión, luego ve a Settings > Password and authentication > Two-factor authentication y haz clic en Enable two-factor authentication.

Registrar una app TOTP

GitHub muestra un código QR. Escanéalo con tu app de autenticación (Aegis, 1Password, Google Authenticator y similares funcionan), luego introduce el código de seis dígitos de la app para confirmar. La app ahora genera un código nuevo cada 30 segundos.

Añadir una passkey o llave de seguridad

Los códigos TOTP son vulnerables al phishing. Tras la configuración, registra una passkey o llave de seguridad de hardware como segundo método en la misma página de ajustes. Conserva TOTP como respaldo, no como tu único factor.

Descargar los códigos de recuperación

GitHub ofrece códigos de recuperación durante la configuración. Descárgalos y guárdalos sin conexión — impresos o en una unidad cifrada, nunca en un repositorio ni en notas en la nube. Cada código funciona una sola vez y son la única forma de volver a entrar si pierdes todos tus segundos factores.

Tokens y claves SSH después

Las claves SSH y los tokens de acceso personal existentes siguen funcionando sin cambios. Los pushes por HTTPS ahora pedirán autenticación en el navegador o un token en lugar de una contraseña.

Activar la 2FA en GitLab

En GitLab, selecciona tu avatar, elige Preferencias, abre Cuenta en la barra lateral izquierda y haz clic en Activar la autenticación de dos factores.

Vincular tu app

Escanea el código QR con tu app TOTP — Aegis, 1Password, Google Authenticator o similar — e introduce el código de seis dígitos que genera para confirmar el emparejamiento. Si prefieres hardware, puedes registrar dispositivos WebAuthn como llaves de seguridad o passkeys como segundo factor desde la misma página de Cuenta.

Guardar los códigos de recuperación

GitLab muestra entonces una lista de códigos de recuperación de un solo uso. Cada uno funciona una sola vez si pierdes acceso a tu autenticador. Descárgalos, cópialos o imprímelos y guárdalos en un lugar seguro, como un gestor de contraseñas. Puedes generar una lista nueva más adelante desde la misma página, pero conserva a salvo este primer conjunto.

Qué cambia para las operaciones de Git

Una vez activada la 2FA, la contraseña de tu cuenta deja de funcionar para Git por HTTPS. Haz push y pull usando un token de acceso personal en su lugar, o cambia a una clave SSH. Crea el token antes de activar la 2FA para no quedarte bloqueado a mitad del flujo de trabajo.

Claves SSH y tokens después de 2FA

Una vez que 2FA está activado, los pushes de git con contraseña dejan de funcionar. Cambia tus remotes a SSH para que el trabajo diario no requiera ninguna solicitud de contraseña:

git remote set-url origin [email protected]:owner/repo.git

Genera una clave SSH

Crea una clave moderna con una frase de contraseña que la proteja:

ssh-keygen -t ed25519 -C "[email protected]"

Copia el contenido del archivo .pub en la configuración de claves SSH de tu cuenta (GitHub: Settings → SSH and GPG keys; GitLab: Preferences → SSH Keys). Tu agente SSH guarda la frase de contraseña en caché, así que la escribes rara vez.

Tokens para scripts y CI

Los tokens de acceso personal reemplazan a las contraseñas para llamadas a la API y pipelines. Dale a cada token los scopes mínimos que funcionen — un token que solo puede leer repositorios públicos no puede hacer push de commits maliciosos.

Limita el radio de impacto

Usa preferentemente tokens fine-grained (GitHub) con ámbito limitado a repositorios y permisos específicos, y usa deploy keys para repositorios individuales en servidores. Si se filtra una credencial de alcance reducido, un atacante obtiene mucho menos que con tu cuenta completa.

Otras cuentas de desarrollador que vale la pena blindar

Los registros de paquetes merecen la misma protección que tu host de Git. npm, PyPI y Docker Hub admiten 2FA, y npm la exige en algunos casos. Una cuenta de registro comprometida permite a un atacante publicar una versión alterada de tu paquete, que luego llega a cada máquina que lo instala.

Consolas en la nube y proveedores de CI

AWS, Google Cloud, Azure y los servicios de CI como los secretos de GitHub Actions o las variables de GitLab CI a menudo contienen credenciales de despliegue, acceso a bases de datos y tarjetas de pago. Activa 2FA en la cuenta de la consola y luego audita qué trabajos de CI pueden leer los secretos.

La raíz de la confianza

Dos cuentas importan más que las demás:

  • Correo electrónico — los restablecimientos de contraseña de casi todo pasan por aquí
  • Gestor de contraseñas — guarda las llaves de todas las demás cuentas

Si alguna de las dos cae, un atacante a menudo puede restablecer su camino hacia todo lo demás, con 2FA o sin ella. Protege ambas con el segundo factor más fuerte que tengas, idealmente una llave de hardware o una aplicación de autenticación en lugar de SMS, y nunca reutilices sus contraseñas en ningún otro lugar.

Vivir con la 2FA en el día a día

Una vez activada la 2FA, unos pocos hábitos la mantienen indolora.

Guarda tus códigos de recuperación. Consérvalos en un gestor de contraseñas o imprime una copia y guárdala en un lugar seguro. Nunca los subas a un repositorio: incluso uno privado puede filtrarse a través de tokens, forks o una configuración errónea.

Registra un segundo factor de respaldo. Añade una segunda aplicación TOTP o una llave de seguridad de reserva mientras todo todavía funciona. Una copia de seguridad que configuras después de perder el teléfono es una copia de seguridad que no tienes.

Audita con regularidad. Cada pocos meses, revisa las sesiones activas y elimina los dispositivos que ya no uses. Revoca claves SSH obsoletas, tokens de acceso personal y claves de despliegue (deploy keys): las credenciales antiguas sobreviven a los proyectos para los que fueron creadas. Un recordatorio en el calendario ayuda.

Si lo pierdes todo, contacta con el soporte de la plataforma. La recuperación puede tardar días e implica demostrar que eres el dueño de la cuenta, así que trata ese camino como último recurso, no como un plan.

Dos minutos de configuración ahora valen más que una semana bloqueado después. Activa la 2FA, guarda los códigos y sigue adelante.

Errores frecuentes y cómo evitarlos

Fotografiar el código QR. Guardar una captura del QR en el escritorio, la galería del teléfono o una carpeta compartida equivale a dejar la llave bajo el felpudo. Cualquiera con esa imagen puede generar tus códigos. Escanéalo y borra la captura de inmediato.

Registrar solo un dispositivo. Si tu único factor es una app en el móvil que se pierde, se rompe o se queda sin batería, te quedas fuera. Ten siempre dos vías: por ejemplo, una app TOTP en el teléfono y una passkey en el ordenador o una llave de hardware en el cajón.

Ignorar la hora del teléfono. Las apps TOTP generan códigos basados en el reloj del dispositivo. Si tu teléfono pierde unos minutos, los códigos fallarán sin motivo aparente. Activa la sincronización automática de hora y, si tu app lo ofrece, usa su opción de resincronizar.

Guardar los códigos de recuperación en el mismo sitio que las contraseñas. Si el gestor de contraseñas se compromete y ahí dentro están también los códigos, ambos factores caen juntos. Una copia impresa en un lugar físico distinto rompe esa dependencia.

Desactivar la 2FA "temporalmente". Para resolver un problema de inicio de sesión, algunos desactivan la 2FA con intención de reactivarla después. El después nunca llega. Soluciona el problema con los códigos de recuperación o el soporte, nunca bajando la barrera.

Compartir códigos por mensaje. Nadie legítimo —ni soporte ni colegas— te pedirá un código TOTP en curso. Quien lo pide está intentando entrar en tu cuenta en ese preciso momento.

Compartir esta guía