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.
- Copie el enlace de su repositorio privado.

- Abra el terminal o cmd en su máquina.
- Pega el comando
git clone link
para clonar el repositorio privado. - Vuelva a colocar la aquí con su enlace de 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
.

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

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 usuario, la contraseña y nombre_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.
- Abra la
.git
carpeta en su repositorio clonado.

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

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

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.
- Primero, necesitamos 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, los almacenará en
~/.git-credentials
archivo con sus credenciales de GitHub de la siguiente manera.

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 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 cache
en lugar de store
para almacenar las credenciales durante un cierto período de tiempo.
EL cache
almacenará nuestras credenciales para 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.
- Primero, necesitamos activar la opción de almacenar en caché nuestras credenciales con el comando
git config credential.helper cache
. - Acceda al repositorio privado con su nombre de 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 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.
- Inicie sesión en su cuenta de GitHub.
- Visite la Ajustes.

- Ahora ve a la Desarrollar escenarios desde la barra de navegación izquierda.


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

- Haga clic en el Generar nuevo token para generar uno nuevo.

- Escriba el Nota: por la ficha. Puede pensar en ello como notas breves para que la ficha las recuerde.

- Seleccione los permisos para el token. Los programas que utilizan el token otorgarán acceso a todos los permisos seleccionados. En nuestro caso, seleccione el repo.

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

- Mostrará el token de acceso personal solo una vez de la siguiente manera. No podemos volver a ver nuestra ficha personal. Por lo tanto, cópielo y guárdelo en un lugar seguro. Usar una administrador de contraseñas si lo necesitas.

- 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
.git/config
archivo comohttps://{personal_access_token}@github.com/hafeezulkareem/private_repository.git
similar al primer método.

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.
- Abra terminal o cmd en su sistema.
- Ingrese el comando
ssh-keygen -t rsa
para generar una nueva clave SSH. - Solicitará el directorio para guardar la clave. prensa
Enter
para seleccionar el directorio predeterminado. Pero también puede cambiar el directorio según sus preferencias. Aquí, vamos con el directorio predeterminado.

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

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

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

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
.
- Inicie sesión en su cuenta de GitHub.
- Abra la Ajustes.

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


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

- Navegará a la siguiente pantalla.

- Agregue el título apropiado para la clave SSH. Las claves SSH son diferentes para cada sistema. Entonces, elegir en base a esto 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 contenido en el segundo campo.

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

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 git@github.com

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 🙂