¿Cómo configurar la autenticación sin contraseña en el repositorio privado de GitHub?

La repetición de la misma tarea es aburrida y dolorosa para los programadores como nosotros. ¿no es así?

Una de esas tareas es interactiva con el repositorio privado de GitHub. ¿Qué hay de eso? Sabes lo que es. Y está buscando formas de resolverlo y llegó a este artículo. Dejarás de buscar después de leer este artículo.

Entonces, aquí vamos a hablar sobre cómo acceder al repositorio privado de GitHub sin contraseña. Sin más preámbulos, comencemos.

Hay dos formas de acceder a cualquier repositorio de GitHub. Son HTTPS y SSH. La mayoría de ustedes está usando HTTPS. Pero ahora sabe que no es una forma eficiente de usar el método HTTPS para clonar los repositorios privados.

Acceder incluye clonar, empujar, jalar, etc.; cualquier cosa relacionada con la actualización de nuestro repositorio en el control remoto.

No hay ningún problema a la hora de acceder a los repositorios públicos. Pero necesitamos autenticarnos mientras accedemos a un repositorio privado. Hay diferentes formas de autenticarnos.

Comencemos con el más familiar…

Si usa HTTPS

Probablemente debería conocer el método HTTPS y buscar otros. Veamos rápidamente cómo acceder a un repositorio privado usándolo.

  • Copie el enlace de su repositorio privado.

Repositorio privado de GitHub

  • Abra la terminal o cmd en su máquina.
  • Pegue el comando git clone link para clonar el repositorio privado.
  • Reemplace el enlace con el enlace de su repositorio privado.
  • Nos pedirá que nos autentiquemos. Entonces, tenemos que ingresar nuestras credenciales de GitHub.
  • Primero, nos pedirá que ingresemos nuestro nombre de usuario de GitHub. Ingrese su nombre de usuario de GitHub y presione Enter.

Nombre de usuario de autenticación

  • Ahora, necesitamos ingresar la contraseña. Escriba su contraseña de GitHub y presione Entrar.

Contraseña de autenticación

Eso es todo; hemos clonado el repositorio privado usando el método HTTPS. Ahora, actualice algo en el repositorio, confirme y envíelo a control remoto.

¿Qué notaste?

Vuelve a pedir la autenticación.

Autenticación de inserción

¿No es una tarea aburrida y pesada ingresar credenciales cada vez que interactuamos con el repositorio privado?

Sí lo es.

No podemos ingresar nuestras credenciales de GitHub cada vez que interactuamos con nuestro repositorio privado. Es un proceso que toma tiempo y ralentiza nuestro trabajo.

Hay diferentes maneras de deshacerse del problema anterior. La mejor manera de hacerlo es usar SSH. Pero, hay otras maneras de hacerlo. Echemos un vistazo a todos ellos uno por uno.

configuración .git

Toda la información sobre las versiones de nuestros repositorios se almacena en el directorio .git. Es una carpeta oculta. Hay un archivo de configuración que nos permite configurar los ajustes. Pero, no es recomendable en general.

Podemos clonar un repositorio privado agregando nuestro nombre de usuario y contraseña en la URL del repositorio de la siguiente manera.

git clone https://<strong>username:password</strong>@github.com/<strong>username</strong>/<strong>repository_name</strong>.git

Actualice el nombre de usuario, la contraseña y el nombre del repositorio con los detalles apropiados. Como hemos dado nuestras credenciales en la URL, no pedirá autenticación como hemos visto antes.

Por lo tanto, seguiremos el método de autenticación anterior y actualizaremos la configuración de nuestro repositorio en consecuencia. Veamos los pasos para deshacerse de la autenticación repetitiva actualizando la URL.

  • Abra la carpeta .git en su repositorio clonado.

Carpeta .git

  • Encontrarás un archivo con el nombre config. Ábralo usando cualquier editor de texto de su elección.
  • Habrá una línea con nuestro enlace de repositorio de la siguiente manera.

Enlace del repositorio en la configuración

  • Actualice la URL agregando su nombre de usuario y contraseña, como se ve arriba.

Actualización de la URL del repositorio

Ahora, vuelva a actualizar algo en el repositorio, comprométalo y empújelo.

¿Observas algo?

No debería haber pedido tus credenciales de GitHub esta vez. Entonces, hemos resuelto nuestro problema al actualizar la configuración de nuestro repositorio.

Es posible que haya notado que no es seguro. Como estamos exponiendo nuestras credenciales. Y este método no funcionará en caso de que su contraseña de GitHub contenga el carácter @.

Por lo tanto, hay algunas desventajas críticas de usar este método. Por lo tanto, ignorémoslo y pasemos al siguiente método.

credencial.ayudante

Credential.helper nos permite almacenar las credenciales para siempre en el archivo ~/.git-credentials.

Almacenará nuestras credenciales cuando las ingresemos por primera vez. Nuevamente, cuando intentamos acceder al repositorio privado, no solicitará las credenciales hasta que se almacene en el archivo ~/git-credentials. Entonces, esa es una de las formas de evitar nuestro problema. Veámoslo en acción con pasos precisos.

  • Primero, debemos activar la opción para almacenar nuestras credenciales con el comando git config credential.helper store.
  • Después de activar la opción, intente acceder al repositorio privado con su nombre de usuario y contraseña.
  • Una vez que haya ingresado su nombre de usuario y contraseña, lo almacenará en el archivo ~/.git-credentials con sus credenciales de GitHub de la siguiente manera.

git-credenciales

Ahora, de nuevo el mismo proceso para comprobar si funciona correctamente o no. Actualizar, confirmar y empujar. Estoy seguro de que no le pedirá las credenciales si ha seguido los pasos anteriores para almacenar sus credenciales.

va bien…

¿Qué sucede si desea guardar las credenciales durante 4 horas en lugar de para siempre?

El credential.helper proporciona una forma de almacenar nuestras credenciales temporalmente durante un cierto período de tiempo. Usamos caché en lugar de tienda para almacenar las credenciales durante un cierto período de tiempo.

El caché almacenará nuestras credenciales durante 15 minutos por defecto. Después de 15 minutos, el git volverá a solicitar las credenciales. Pero podemos cambiar el tiempo predeterminado usando el siguiente comando.

git config credential.helper 'cache --timeout={time_in_seconds}'

No olvides dar el tiempo en segundos. Veámoslo en acción.

  • Primero, debemos activar la opción de almacenar en caché nuestras credenciales con el comando git config credential.helper cache.
  • Accede al repositorio privado con tu usuario y contraseña.
  • Una vez que haya ingresado su nombre de usuario y contraseña, almacenará en caché sus credenciales de GitHub durante un tiempo específico.

Ahora, actualice, confirme y empuje. Nuevamente, no le pedirá sus credenciales, ya que lo hemos dicho para almacenarlas en caché.

Le hemos mostrado los comandos para trabajar con un repositorio inicializado con git. Podemos actualizar la configuración de git globalmente para todos los proyectos agregando el indicador –global en los comandos anteriores.

Fichas de acceso personal

Los tokens de acceso personal se utilizan para dar acceso a la API de GitHub. Los tokens de acceso personal son como tokens OAuth. Por lo tanto, se pueden usar para la autenticación básica en lugar de una contraseña para git. Por lo tanto, podemos usar los tokens de acceso personal para resolver nuestro problema.

Veamos cómo hacerlo.

  • Inicie sesión en su cuenta de GitHub.
  • Vaya a la Configuración.

Configuración de GitHub

  • Ahora, vaya a la configuración de Desarrollo desde la barra de navegación izquierda.

Configuración de desarrollador de GitHub

  • Haga clic en los tokens de acceso personal para llegar a nuestro destino final. Verá los tokens de acceso personal de la siguiente manera.

Tokens de acceso personal de GitHub

  • Haga clic en Generar nuevo token para generar uno nuevo.

Generar nuevo token

  • Ingrese la Nota para el token. Puede pensar en ello como notas cortas para que el token las recuerde.

Token de acceso personal Nota

  • Seleccione los permisos para el token. Los programas que utilicen el token otorgarán acceso a todos los permisos seleccionados. En nuestro caso, seleccione el repositorio.

Permisos de repositorio

  • Desplácese hasta la parte inferior y haga clic en el botón Generar token.

Botón Generar token

  • Mostrará el token de acceso personal solo una vez de la siguiente manera. No podemos volver a ver nuestro token personal. Entonces, cópielo y guárdelo en algún lugar seguro. Use un administrador de contraseñas si es necesario.

Token de acceso personal

  • Hemos creado con éxito el token de acceso personal.
  • Ahora es el momento de usarlo para acceder a nuestro repositorio privado.
  • Actualice la URL del repositorio en el archivo .git/config como https://{personal_access_token}@github.com/hafeezulkareem/private_repository.git similar al primer método.

Token de acceso personal en configuración

Ahora, intente acceder al repositorio privado.

¿Te pidió la autenticación?

No, no le pedirá la autenticación hasta que el token esté activo. Pasemos a la última forma de resolver nuestro problema.

SSH

SSH se utiliza para autenticarnos. Puede encontrar el documento completo sobre SSH en GitHub aquí.

La idea es sencilla. Genere una clave SSH, agréguela a la cuenta de GitHub y disfrute de la autenticación sin contraseña.

Veamos estos tres pasos en detalle.

  • Abra la terminal o cmd en su sistema.
  • Ingrese el comando ssh-keygen -t rsa para generar una nueva clave SSH.
  • Le pedirá el directorio para guardar la clave. Pulse Intro para seleccionar el directorio predeterminado. Pero también puede cambiar el directorio según sus preferencias. Aquí, vamos con el directorio predeterminado.

Directorio SSH

  • Ahora, tenemos que ingresar la frase de contraseña para proteger nuestra clave SSH. Pero es opcional.
    • Si elegimos una frase de contraseña para la clave SSH, primero debemos ingresarla cada vez que encendemos nuestro sistema.
    • Si no elegimos la frase de contraseña, entonces no hay necesidad de ingresarla primero.

Frase de contraseña SSH

  • Ingrese la frase de contraseña nuevamente para confirmarla.

Frase de contraseña SSH

  • Finalmente, generará una nueva clave SSH para nosotros de la siguiente manera.

Clave SSH

Hemos generado con éxito una nueva clave SSH en nuestros sistemas. Creará dos archivos de la siguiente manera (si ha cambiado la ruta, los nombres de los archivos pueden variar).

Archivos de claves SSH

Ahora, es el momento de conectarse con nuestra cuenta de GitHub. El contenido del archivo con la extensión .pub debe copiarse en nuestra cuenta de GitHub para la conexión. En mi caso, es id_rsa.pub.

  • Inicie sesión en su cuenta de GitHub.
  • Abra la Configuración.

Configuración de GitHub

  • Haga clic en las claves SSH y GPG para llegar a nuestro destino final.

Claves SSH y GPG

  • Haga clic en Nueva clave SSH para agregar nuestra clave SSH recién generada.

Nueva clave SSH

  • Navegará a la siguiente pantalla.

Nueva clave SSH

  • Agregue el título apropiado para la clave SSH. Las claves SSH son diferentes para cada sistema. Entonces, elegir en base a ello es una de las buenas opciones. Pero, no es la única opción. Puede elegir en función de otras cosas según sus preferencias.
  • Después de elegir el título, copie y pegue el contenido .pub en el segundo campo.

Nueva clave SSH

  • Finalmente, presione la tecla Agregar SSH y confirme el acceso con su contraseña de GitHub.
  • La clave SSH recién agregada tendrá el siguiente aspecto.

Nueva clave SSH

Hemos agregado nuestra clave SSH recién generada a GitHub. Ahora, tenemos que autenticar la conexión SSH para disfrutar de la autenticación sin contraseña más adelante. Para hacerlo, ingrese el siguiente comando en la terminal o cmd.

ssh -T [email protected]

Conexión SSH

Le pedirá confirmación. Confirmarlo. Y eso es todo, y hemos terminado.

Ahora, clona tu repositorio privado. No pedirá ninguna autenticación esta vez.

Actualizar, confirmar y empujar. Ahí tienes Ya no te pedirá la autenticación. Disfrútala.

Conclusión

¡Uf! hemos cubierto varios métodos para acceder a repositorios privados sin ingresar credenciales todo el tiempo. Puede utilizar cualquier método. Pero, la mejor práctica general es usar el método SSH para la autenticación.

Una vez más, depende de su preferencia; no hay una regla estricta para usar el único método SSH. Sin embargo, la mayoría de las empresas utilizan el método SSH para la autenticación, que es seguro y ahorra mucho tiempo. Y asegúrese de que sus credenciales estén seguras.

Feliz desarrollo 🙂