¿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. Ellos son HTTPS y SSH. La mayoría de ustedes está usando HTTPS. Pero ahora te das cuenta de que no es una forma eficiente de usar el HTTPS método 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 saber acerca de la HTTPS método y buscando otros. Veamos rápidamente cómo acceder a un repositorio privado usándolo.

Copie el enlace de su repositorio privado.

Repositorio privado de GitHubRepositorio privado de GitHub

Abra la terminal o cmd en su máquina. Pegue el comando git clone link para clonar el repositorio privado. Reemplace la Enlace con el enlace de tu 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ónNombre de usuario de autenticación

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

Contraseña de autenticaciónContraseña de autenticación

Eso es todo; hemos clonado el repositorio privado usando el HTTPS método. 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ónAutenticación de inserción
Autenticación de inserciónAutenticació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 clave 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 usuario, clavey nombre_repositorio con 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 .gitCarpeta .git

Encontrarás un archivo con el nombre configuración. Á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ónEnlace del repositorio en la configuración

Actualice la URL agregando su nombre de usuario y clave, como se ve arriba.

Actualización de la URL del repositorioActualizació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 @ personaje.

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-credencialesgit-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 para 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 para 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 OAuth fichas 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. Ve a la Ajustes.

Configuración de GitHubConfiguración de GitHub

Ahora, ve a la Configuración de desarrollo desde la barra de navegación izquierda.

Configuración de desarrollador de GitHubConfiguración de desarrollador de GitHub
Configuración de desarrollador de GitHubConfiguración de desarrollador de GitHub

Clickea en el Fichas de acceso personal para llegar a nuestro destino final. Verá los tokens de acceso personal de la siguiente manera.

Tokens de acceso personal de GitHubTokens de acceso personal de GitHub

Clickea en el Generar nuevo token para generar uno nuevo.

Generar nuevo tokenGenerar nuevo token

Introducir el Nota por la ficha. Puede pensar en ello como notas cortas para que el token las recuerde.

Token de acceso personal NotaToken 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 repositorioPermisos de repositorio

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

Botón Generar tokenBotó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 personalToken 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ónToken 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 SSHDirectorio SSH

Ahora, tenemos que entrar en el 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 SSHFrase 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 SSHClave 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 SSHArchivos 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. Abre el Ajustes.

Configuración de GitHubConfiguración de GitHub

Haga clic en Claves SSH y GPG para llegar a nuestro destino final.

Claves SSH y GPGClaves SSH y GPG
Claves SSH y GPGClaves SSH y GPG

Clickea en el Nueva clave SSH para agregar nuestra clave SSH recién generada.

Nueva clave SSHNueva clave SSH

Navegará a la siguiente pantalla.

Nueva clave SSHNueva 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 .pub contenidos en el segundo campo.

Nueva clave SSHNueva clave SSH

Por último, pulsa el Añadir clave SSH y confirma el acceso con tu contraseña de GitHub. La clave SSH recién agregada tendrá el siguiente aspecto.

Nueva clave SSHNueva 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 SSHConexió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 práctica general y mejor es usar el SSH método para la autenticación.

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

Feliz desarrollo 🙂

Publicaciones relacionadas

Botón volver arriba