¿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 programadores como nosotros. ¿No es así?

Una de esas tareas es interactiva con el repositorio privado de GitHub. ¿Qué pasa con eso? Sabes lo que es. Y está buscando formas de resolverlo y aterrizó en 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. Ellos son HTTPS y  SSH. La mayoría de ustedes está usando HTTPS. Pero ahora se da cuenta de que no es una forma eficaz de utilizar la HTTPS método para clonar los repositorios privados.

El acceso incluye clonación, empuje, tracción, etc. todo lo que esté relacionado con la actualización de nuestro repositorio en el control remoto.

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

Comencemos con el más familiar ...

Si usa HTTPS

Probablemente deberías saber sobre el HTTPS método y buscando a los demás. Veamos rápidamente cómo acceder a un repositorio privado usándolo.

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

¿Qué notaste?

De nuevo solicita la autenticació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 formas de deshacerse del problema anterior. La mejor forma de hacerlo es utilizar SSH. Pero hay otras formas de hacerlo. Veámoslos todos uno por uno.

.git config

Toda la información sobre las versiones de nuestros repositorios se almacena en .git directorio. Es una carpeta oculta. Hay un config archivo en él que nos permite configurar los ajustes. Pero no se recomienda en general.

Podemos clonar un repositorio privado agregando nuestro nombre de usuario y  la 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 

Actualizar el nombre de usuariola contraseñanombre_de_repositorio con los detalles apropiados. Dado que hemos proporcionado nuestras credenciales en la URL, no solicitará 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.

Ahora, actualice de nuevo algo en el repositorio, confirme y envíelo.

¿Observas algo?

Esta vez no debería haber pedido tus credenciales de GitHub. Entonces, hemos resuelto nuestro problema actualizando la configuración de nuestro repositorio.

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

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

credential.helper

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

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

Ahora, nuevamente el mismo proceso para verificar si está funcionando correctamente o no. Actualiza, confirma y envía. 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 para 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 cache en lugar de store para almacenar las credenciales durante un cierto período de tiempo.

El cache almacenará nuestras credenciales para De 15 minutos por defecto. Después de 15 minutos, el git volverá a solicitar las credenciales. Pero podemos cambiar la hora predeterminada usando el siguiente comando.

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

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

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

Le hemos mostrado los comandos para trabajar en un repositorio inicializado de git. Podemos actualizar el git configuración global para todos los proyectos agregando el --global bandera en los comandos anteriores.

Personal Access Tokens

Los tokens de acceso personal se utilizan para dar acceso a la API de GitHub. Los tokens de acceso personal son como OAuth tokens. Por lo tanto, se pueden utilizar 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 como hacerlo.

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. Encuentra el documento completo sobre SSH en GitHub aquí.

La idea es sencilla. Genera una clave SSH, agrégala a la cuenta de GitHub y disfruta autenticación sin contraseña.

Veamos estos tres pasos en detalle.

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).

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

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]

Pedirá confirmación. Confirmalo. Y eso es todo, y hemos terminado.

Ahora, clona tu repositorio privado. Esta vez no pedirá ninguna autenticación.

Actualiza, confirma y envía. Ahí tienes. Ya no le 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 utilizar la SSH método de autenticación.

Nuevamente, depende de su preferencia; no hay una regla estricta para usar el único SSH método. Pero la mayoría de las empresas utilizan SSH método de autenticación, que es seguro y ahorra mucho tiempo. Y asegúrate de que tu Cartas credenciales estan seguros.

Feliz desarrollo 🙂