Geekflare recibe el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliación de los enlaces de compra en este sitio.
En Desarrollo Última actualización: 25 de septiembre de 2023
Compartir en:
Escáner de seguridad de aplicaciones web Invicti - la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

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

Una de esas tareas es interactuar con el repositorio privado de GitHub. ¿De qué se trata? Usted sabe lo que es. Y usted está buscando la manera de resolverlo y aterrizó en este artículo. Usted dejará de buscar después de leer este artículo

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

Hay dos formas de acceder a cualquier repositorio de GitHub. Son HTTPS y SSH. La mayoría de ustedes están utilizando HTTPS. Pero, ahora usted viene a saber que no es una manera eficiente de utilizar el método HTTPS para la clonación de los repositorios privados

Acceder incluye clonar, empujar, tirar, etc.; cualquier cosa que esté relacionada con la actualización de nuestro repositorio en remoto

No hay ningún problema cuando se trata de acceder a los repositorios públicos. Pero, necesitamos autenticarnos mientras accedemos a un repositorio privado. Existen diferentes formas de autenticarnos

Empecemos por la más conocida..

Si utiliza HTTPS

Probablemente conozca el método HTTPS y busque otros. Veamos rápidamente cómo acceder a un repositorio privado utilizándolo

  • Copie el enlace de su repositorio privado.
Repositorio privado GitHub
Repositorio privado de GitHub
  • Abra el terminal o cmd en su máquina.
  • Pegue el comando git clone link para clonar el repositorio privado.
  • Sustituya el enlace por el de su depósito privado.
  • Nos pedirá que nos autentiquemos. Por lo tanto, tenemos que introducir nuestras credenciales de GitHub.
  • Primero, nos pedirá que introduzcamos nuestro nombre de usuario de GitHub. Introduzca su nombre de usuario de GitHub y pulse Intro.
Nombre de usuario de autenticación
Nombre de usuario de autenticación
  • Ahora, necesitamos introducir la contraseña. Escriba su contraseña de GitHub y pulse Intro.
Contraseña de autenticación
Contraseña de autenticación

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

¿Qué ha notado?

Vuelva a solicitar la autenticación

Autenticación Push
Autenticación Push
Autenticación Push
Autenticación Push

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

Sí, lo es

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

Hay diferentes maneras de deshacerse del problema anterior. La mejor manera de hacerlo es utilizar SSH. Pero, hay otras formas de hacerlo. Veámoslas una a una

.git config

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

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

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

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

Por lo tanto, vamos a seguir el método anterior de autenticación y actualizar la configuración de nuestro repositorio en consecuencia. Veamos los pasos para deshacernos de la autenticación repetitiva actualizando la URL

  • Abra la carpeta .git de su repositorio clonado.
Carpeta .git
Carpeta .git
  • Encontrará un archivo con el nombre config. Ábralo utilizando cualquier editor de texto de su elección.
  • Habrá una línea con nuestro enlace al repositorio de la siguiente manera.
Enlace al repositorio en config
Enlace del repositorio en config
  • Actualice la URL añadiendo su nombre de usuario y contraseña, como se ve arriba.
Actualización de la URL del repositorio
Actualización de la URL del repositorio

Ahora, de nuevo actualice algo en el repositorio, haga commit y push

¿Observa algo?

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

Usted puede haber notado que no es seguro. Ya que 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 utilizar este método. Por lo tanto vamos a ignorarlo y pasar al siguiente método

credential.helper

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

Almacenará nuestras credenciales cuando las introduzcamos por primera vez. De nuevo, cuando intentemos acceder al repositorio privado, no nos pedirá las credenciales hasta que estén almacenadas en el archivo ~/git-credentials. Así que esta es una de las formas de evitar nuestro problema. Veámoslo en acción con pasos precisos

  • Primero, necesitamos activar la opción de almacenar nuestros 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 introducido su nombre de usuario y contraseña, lo almacenará en el archivo ~/.git-credentials con sus credenciales de GitHub de la siguiente manera.
git-credentials
git-credentials

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

Va bien..

¿Y si quiere guardar las credenciales durante 4 horas ¿en lugar de para siempre?

El credential.helper proporciona una forma de almacenar nuestros créditos temporalmente durante un cierto tiempo. Utilizamos cache en lugar de store para almacenar las credenciales durante una cierta cantidad de tiempo

Por defecto, la caché almacenará nuestros credenciales durante 15 minutos. Después de 15 minutos, el git volverá a pedir las credenciales. Pero, podemos cambiar el tiempo por defecto usando el siguiente comando

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

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

  • En primer lugar, tenemos que activar la opción de almacenar en caché nuestros 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 introducido su nombre de usuario y contraseña, almacenará en caché sus credenciales de GitHub durante un tiempo especificado.

Ahora, actualice, haga commit y push. De nuevo no le pedirá sus credenciales ya que le hemos dicho que las almacene en caché

Le hemos mostrado los comandos para trabajar un repositorio git inicializado. Podemos actualizar la configuración de git globalmente para todos los proyectos añadiendo la bandera --global en los comandos anteriores

Tokens de acceso personales

Los tokens de acceso personal se utilizan para dar acceso a la API de GitHub. Los tokens de acceso personal son como los tokens OAuth . Por lo tanto, pueden ser utilizados para la autenticación básica en lugar de una contraseña para git. Por lo tanto, podemos utilizar 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
Configuración de GitHub
  • Ahora, vaya a los ajustes de Desarrollo desde la barra de navegación de la izquierda.
Configuración para desarrolladores de GitHub
Ajustes de desarrollo de GitHub
Configuración para desarrolladores de GitHub
Configuración de desarrollador de GitHub
  • Haga clic en los fichas de acceso personal para llegar a nuestro destino final. Verá los tokens de acceso personal de la siguiente manera.
Tokens de acceso personal a GitHub
Tokens de acceso personal de GitHub
  • Haga clic en Generar nuevo token para generar uno nuevo.
Generar nuevo token
Generar nuevo token
  • Introduzca la Nota para el token. Puede pensar en ella como una breve nota para que el token la recuerde.
Ficha de acceso personal Nota
Nota para el token de acceso personal
  • Seleccione los permisos para el token. Los programas que utilicen el token concederán acceso a todos los permisos seleccionados. En nuestro caso, seleccione el repo.
Permisos de repositorio
Permisos del repositorio
  • Desplácese hasta la parte inferior y haga clic en el botón Generar token .
Botón Generar token
Botón Generar token
  • Mostrará el token de acceso personal sólo una vez como se indica a continuación. No podremos volver a ver nuestro token personal. Por lo tanto, cópielo y guárdelo en un lugar seguro. Utilice un gestor de contraseñas si es necesario.
Ficha de acceso personal
Ficha de acceso personal
  • Hemos creado con éxito el ficha de acceso personal.
  • Ahora, es el momento de utilizarlo 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 de forma similar al primer método.
Token de acceso personal en config
Token de acceso personal en config

Ahora, intente acceder al repositorio privado

¿Le ha pedido 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. Encontrará el documento completo sobre SSH en GitHub aquí

La idea es sencilla. Generar una clave SSH, añadirla a la cuenta de GitHub y disfrutar de la autenticación sin contraseña

Veamos estos tres pasos en detalle

  • Abra terminal o cmd en su sistema.
  • Introduzca 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 por defecto.
Directorio SSH
Directorio SSH
  • Ahora, tenemos que introducir la contraseña phrase para proteger nuestra clave SSH. Pero es opcional
    • Si elegimos una frase de contraseña para la clave SSH, debemos introducirla primero cada vez que encendamos nuestro sistema.
    • Si no elegimos la frase de contraseña, entonces no hay necesidad de introducirla primero.
Contraseña SSH
Frase de contraseña SSH
  • Introduzca de nuevo la frase de contraseña para confirmarla.
Contraseña SSH
  • Por último, nos generará una nueva clave SSH de la siguiente manera.
Clave SSH
Llave SSH

Hemos generado con éxito una nueva clave SSH en nuestros sistemas. Se crearán dos archivos como sigue (si ha cambiado la ruta, los nombres de los archivos pueden variar)

Archivos de claves SSH
Archivos de claves SSH

Ahora, es el momento de conectar con nuestra cuenta de GitHub. Es necesario copiar el contenido del archivo con extensión .pub a nuestra cuenta de GitHub para la conexión. En mi caso, es id_rsa.pub

  • Conéctese a su cuenta de GitHub.
  • Abra la Configuración.
Configuración de GitHub
Configuración de GitHub
  • Haga clic en Claves SSH y GPG para llegar a nuestro destino final.
Claves SSH y GPG
Claves SSH y GPG
Claves SSH y GPG
Claves SSH y GPG
  • Haga clic en Nueva clave SSH para añadir nuestra clave SSH recién generada.
Nueva clave SSH
Nueva clave SSH
  • Navegará a la siguiente pantalla.
Nueva clave SSH
Nueva clave SSH
  • Añada el título apropiado para la clave SSH. Las claves SSH son diferentes para cada sistema. Por lo tanto, elegir en base a ello es una de las buenas opciones. Pero, no es la única opción. Puede elegir basándose en otras cosas según sus preferencias.
  • Después de elegir el título, copie y pegue el contenido del .pub en el segundo campo.
Nueva clave SSH
Nueva clave SSH
  • Por último, pulse Añadir clave SSH y confírmeme el acceso con su contraseña de GitHub.
  • La nueva clave SSH añadida tendrá el siguiente aspecto.
Nueva clave SSH
Nueva clave SSH

Hemos añadido 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 ello, introduzca el siguiente comando en el terminal o cmd

ssh -T git@github.com
Conexión SSH
Conexión SSH

Le pedirá confirmación. Confírmela. Y eso es todo, y hemos terminado

Ahora, clone su repositorio privado. Esta vez no le pedirá ninguna autenticación

Actualice, confirme y empuje. Listo. Ya no le pedirá la autenticación. Disfrútelo

Conclusión

Hemos cubierto varios métodos para acceder a repositorios privados sin introducir credenciales todo el tiempo. Puede utilizar cualquier método. Pero, la práctica general y mejor es utilizar el método SSH para la autenticación

De nuevo, depende de sus preferencias; no existe una regla estricta para utilizar únicamente el método SSH . Pero, 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 a salvo

Feliz desarrollo 🙂 .

  • Hafeezul Kareem Shaik
    Autor
Gracias a nuestros patrocinadores
Más lecturas sobre desarrollo
Potencia tu negocio
Algunas de las herramientas y servicios que le ayudarán a hacer crecer su negocio.
  • Invicti utiliza el Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en tan solo unas horas.
    Pruebe Invicti
  • Web scraping, proxy residencial, gestor de proxy, desbloqueador web, rastreador de motores de búsqueda, y todo lo que necesita para recopilar datos web.
    Pruebe Brightdata
  • Monday.com es un sistema operativo de trabajo todo en uno que te ayuda a gestionar proyectos, tareas, trabajo, ventas, CRM, operaciones, flujos de trabajo y mucho más.
    Prueba Monday
  • Intruder es un escáner de vulnerabilidades en línea que encuentra puntos débiles de ciberseguridad en su infraestructura, para evitar costosas violaciones de datos.
    Prueba Intruder