Artículos de Tecnología

Nueva exigencia de autenticación por token en Git ¿qué es y qué debo hacer?

Camila Alves
Camila Alves
Un portátil con el logo de Github siendo exhibido en la pantalla

¿Últimamente has encontrado este mensaje al ejecutar algunos comandos en git?

Logon failed, use ctrl+c to cancel basic credential prompt.
remote: Support for password authentication was removed on August 13, 2021. 
Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access ‘<repositório Git>’: The request URL returned error: 403 
Espacio para imagen 02

Esto sucedió, porque Github anunció un nuevo requisito de autenticación basado en token para Git. A partir del día 13 de agosto de 2021, la contraseña de la cuenta de Github ya no es aceptada para autenticar operaciones en Git.

Este cambio se debe por motivos de seguridad, ya que los tokens ofrecen algunos beneficios, como la posibilidad de guardar las informaciones del usuario en el token y no en el servidor, así como el hecho de poder configurarse para tener los permisos que desees y tener un periodo de expiración. Es decir, deja de funcionar después de un determinado tiempo, como si fuera una contraseña única y desechable.

De esta forma, si otra persona tiene acceso a tu token, se restringirá únicamente los permisos que hayas configurado previamente. Entonces, no tendrás el riesgo de perder tu cuenta de Github, ya que puedes descartar el token perdido y generar otro nuevamente.

Entonces ¿qué es necesario hacer para continuar usando las operaciones Git?

Github recomienda empezar a utilizar un token de acceso personal, pero si lo deseas, puedes optar por usar una clave SSH.

De esta manera, sigue un paso a paso de como generar tu token personal:

1) En la página de Github, entra en tu cuenta. 2) Ya en la página principal, selecciona tu usuario en el rincón superior derecho y haz clic en la opción Settings:

Página principal de Github con el menú del usuario en destaque

3) En la página que abrirá, haz clic en la opción Devoloper settings, 24ª opción de la lista a la izquierda.

Imagen de la página de configuración de la cuenta con la opción Devoloper settings en destaque

4) Selecciona la opción Personal access tokens, 3ª opción de la lista a la izquierda. Luego selecciona Tokens(classic), 2ª opción en la lista que se abre luego abajo.

Espacio para imagen 05

5) Haz clic en la opción Generate new token en la parte superior izquierda y luego en Generate new token (classic) que es la 2ª opción en la nueva lista que se abre.

Espacio para imagen 06

6) Confirma con tu contraseña de Github.

Espacio para imagen 07

7) Di un nombre para tu token y define el tiempo de expiración.

Espacio para imagen 08

8) Marca los permisos que deseas conceder al token. Un detalle, para usar el token para acceder a repositorios, selecciona la opción repo.

Espacio para imagen 09

9) Por último, al seleccionar todas las opciones elegidas, haz clic en Generate token al final de la pantalla.

Espacio para imagen 10

Listo, aparecerá un código para que puedas copiar y pegar en el Administrador de Credenciales de tu máquina. Este proceso dependerá de tu sistema operacional.

Como editar credenciales en Windows

Después que generas el token, cópialo y accede al Panel de Control. Lo puedes encontrar digitando en la barra de búsqueda.

Espacio para imagen 11

En seguida, accede a Cuentas de Usuario:

Espacio para imagen 12

Haz clic en Administrar Credenciales de Windows:

Espacio para imagen 13

En Credenciales de Windows busca la sección de Credenciales Genéricas o github.com selecciónalo y ponlo a editar;

Espacio para imagen 14

Copia el token generado en la primera etapa y pega en la caja de texto de la Contraseña.

Espacio para imagen 15

En caso de que no encuentres el github.com, puedes seleccionar la opción Agregar una credencial genérica

Espacio para imagen 16

Y llenar los campos:

Espacio para imagen 17

¡Listo! Luego podrás realizar operaciones de Git nuevamente sin solicitudes de inicio de sesión hasta la fecha de expiración del token generado.

Cómo editar una credencial de Git en Linux

En Linux, este proceso solo se puede realizar en la terminal. Al abrir un repositorio de Git en él y ejecutar comandos como git pull, git push o git clone, Git solicitará usuario y contraseña. Si introduces tu contraseña de GitHub como se hacía anteriormente, recibirás el mensaje citado al principio:

Espacio para imagen 18

De esta manera, simplemente tienes que ejecutar el comando de nuevo y en lugar de la contraseña, pegar tu token generado:

Espacio para imagen 19

Así, el comando se ejecutará con éxito:

Espacio para imagen 20

Sin embargo, aunque funcione, no es viable tener que pegar el token cada vez que se ejecutan estos comandos, ¿verdad? Para ello, simplemente escribe el siguiente comando para que la última contraseña utilizada se guarde:

git config --global credential.helper cache

De esta forma, en el próximo comando que se ejecute, Git solicitará la autenticación nuevamente, pero en los siguientes comandos, Git no pedirá tu nombre de usuario y contraseña de nuevo.

Espacio para imagen 21

Y al final, en caso de que quieras quitar el token de la configuración, haz lo siguiente:

git config --global --unset credential.helper

De esta manera, volverás a tener las solicitudes de autenticación nuevamente:

Espacio para imagen 22

Cómo editar las credenciales en MacOS.

Para configurar el token en Mac, el proceso es similar al de Windows. Accede a Keychain Access, para encontrarlo puedes hacer clic en el icono de búsqueda en la esquina derecha de la barra de menú:

Espacio para imagen 23

Fuente: Imagen retirada de la Documentación de Github

A continuación, busca por github.com, haz clic en internet password, edita y pega el token personal generado.

Si quieres eliminarlo, en la terminal escribe:

git credential-osxkeychain erase

Conclusión

En resumen, este cambio en el uso de tokens para autenticación es muy interesante, ya que puede ofrecer un mayor control y seguridad. Puede realizar todo el proceso mencionado anteriormente tantas veces como sea necesario, así como configurar los permisos y el tiempo de expiración de cada token generado de la manera que consideres mejor.

En caso de fallas de seguridad, por ejemplo, la persona estará limitada a los permisos otorgados al token y su cuenta de GitHub seguirá a salvo. Además, si esto sucede, elimina tu token yendo a GitHub, luego a Settings, Developer settings y Personal access tokens, el mismo procedimiento para generar el token, pero haz clic en Delete:

Espacio para imagen 24

Así estarás seguro nuevamente.

Espacio para imagen de la autora

Camila Fernanda Alves

Soy casi ingeniera de la Universidad Federal de Uberlândia e instructora aquí en Alura. He trabajado como pasante en el Scuba Team y he realizado algunas tutorías de Física, Circuitos Eléctricos e incluso Procesamiento de Señales. Actualmente, estoy comenzando a producir contenido relacionado con DevOps y también estoy aquí para sumergirme en la tecnología con ustedes y, siempre que sea posible, tratar de ayudarlos a encontrar las respuestas que necesitan en los foros. En mi tiempo libre, me gusta jugar juegos de Nintendo y Valorant.

Este artículo fue adecuado para Alura Latam por: Bruno Souza

Artículos de Tecnología

En Alura encontrarás variados cursos sobre . ¡Comienza ahora!

Precios en:
USD
  • USD
  • BOB
  • CLP
  • COP
  • USD
  • PEN
  • MXN
  • UYU

Semestral

  • 274 cursos

    Cursos de Programación, Front End, Data Science, Innovación y Gestión.

  • Videos y actividades 100% en Español
  • Certificado de participación
  • Estudia las 24 horas, los 7 días de la semana
  • Foro y comunidad exclusiva para resolver tus dudas
  • Luri, la inteligencia artificial de Alura

    Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana

  • Acceso a todo el contenido de la plataforma por 6 meses
US$ 65.90
un solo pago de US$ 65.90
¡QUIERO EMPEZAR A ESTUDIAR!

Paga en moneda local en los siguientes países

Anual

  • 274 cursos

    Cursos de Programación, Front End, Data Science, Innovación y Gestión.

  • Videos y actividades 100% en Español
  • Certificado de participación
  • Estudia las 24 horas, los 7 días de la semana
  • Foro y comunidad exclusiva para resolver tus dudas
  • Luri, la inteligencia artificial de Alura

    Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana

  • Acceso a todo el contenido de la plataforma por 12 meses
US$ 99.90
un solo pago de US$ 99.90
¡QUIERO EMPEZAR A ESTUDIAR!

Paga en moneda local en los siguientes países

Acceso a todos
los cursos

Estudia las 24 horas,
dónde y cuándo quieras

Nuevos cursos
cada semana