Table of Contents
Cómo arreglar que Git siempre solicite credenciales de usuario para la autenticación HTTP (S)
Para acceder o trabajar con un repositorio Git remoto, puede usar los protocolos SSH. o HTTP (S). con el primero, cuando se trata de repositorios privados, simplemente puede configurar las claves SSH sin una frase de contraseña que le permite transferir datos de forma segura sin escribir su nombre de usuario y contraseña.
Sin embargo, con HTTP ( S). cada conexión le pedirá que ingrese su nombre de usuario y contraseña (cuando Git necesite autenticación para un contexto de URL en particular); los usuarios de Github lo saben bien.
En este artículo, mostraremos cómo arreglar Git siempre solicitando credenciales de usuario para acceder a través de HTTP (S). Explicaremos diferentes formas de evitar que Git solicite repetidamente el nombre de usuario y la contraseña al interactuar con un repositorio remoto a través de HTTP (S).
Cómo instalar Git en Linux
Si no tiene el paquete Git. instalado en su sistema, ejecute el comando apropiado para su distribución de Linux para instalarlo (use el comando Sudo. donde sea necesario ).
$ sudo apt install git [En Debian/Ubuntu] # yum install git [En CentOS/RHEL/Fedora] $ sudo zypper install git [En OpenSuse] $ sudo pacman-S git [En Arch Linux]
Ingresar el nombre de usuario y la contraseña de Git en una URL remota
Como mencionamos anteriormente, al clonar un repositorio Git. remoto a través de HTTP (S). cada conexión necesita un nombre de usuario. y una contraseña. como se muestra.
Clonar repositorio Git remoto freestar.config.enabled_slots.push (LocationName:” tecmint_incontent “, slotId:” tecmint_incontent “);
Para evitar que Git. solicite su nombre de usuario. y contraseña. puede ingresar el nombre de usuario credenciales en la URL como se muestra.
$ sudo git clone https://username: [email protected]/username/repo_name.git O $ sudo git clone https://username: [email protected]/username/repo_name .git carpeta_local
Agregar credenciales de Git en la URL
El principal inconveniente de este método es que su nombre de usuario. y contraseña. se guardarán en el comando en el historial de Shell archivo.
Ver historial de Shell
así como en .git/config. archivo en la carpeta local, wh ich posee un riesgo de seguridad.
$ cat .git/config
Ver las credenciales de Git en el archivo de configuración
Nota. para usuarios de Github que han habilitado la autenticación de dos factores o están accediendo a una organización que usa el inicio de sesión único SAML. debe generar y usar un token de acceso personal en lugar de ingresar su contraseña para HTTPS Git. (como se muestra en los resultados de muestra en esta guía) . Para generar un token de acceso personal, en Github. vaya a Configuración. =>. Configuración de desarrollador. =>. Fichas de acceso personales.
Guardar el nombre de usuario y la contraseña del repositorio Git remoto en el disco
El segundo método es usar el asistente de credenciales de Git para guardar su nombre de usuario y contraseña en un archivo sin formato en el disco como se muestra.
$ git config credential.helper store O $ git config–global credential.helper store
De ahora en adelante, Git. escribirá credenciales en el archivo ~/.git-credentials. para cada contexto de URL, cuando se acceda por primera vez. Para ver el contenido de este archivo, puede usar el comando cat como se muestra.
$ cat ~/.git-credentials
Ver las credenciales de Git guardadas en el disco
Para los comandos posteriores para el mismo contexto de URL, Git leerá sus credenciales de usuario del archivo anterior.
Al igual que el método anterior, esta forma de pasar las credenciales de usuario a Git. tampoco es segura, ya que el archivo de almacenamiento no está encriptado y está protegido solo por permisos estándar del sistema de archivos.
El tercero método expl que se indica a continuación, se considera más seguro.
Almacenamiento en caché del nombre de usuario y la contraseña del repositorio Git remoto en la memoria
Por último, pero no menos importante, también puede usar las credenciales Git. helper para guardar temporalmente sus credenciales en la memoria durante algún tiempo. Para hacer eso, emita el siguiente comando.
$ git config credential.helper cache O $ git config–global credential.helper cache
Después de ejecutar el comando anterior, cuando intente acceder a un repositorio privado remoto para la primera vez, Git le pedirá su nombre de usuario y contraseña y los guardará en la memoria durante algún tiempo.
Caché de las credenciales de Git en la memoria
El tiempo de almacenamiento en caché predeterminado es 900. segundos (o 15 minutos. , después de lo cual Git lo hará le pedirá que vuelva a introducir su nombre de usuario y contraseña. Puede cambiarlo de la siguiente manera (1800 segundos = 30 minutos o 3600 segundos = 1 hora).
$ git config–global credential.helper ‘cache–timeout = 18000’ O $ git config–global credential.helper ‘cache–timeout = 36000’
Para obtener más información sobre Git. y los ayudantes de credenciales, consulte sus páginas de manual.
$ man git $ man git-credential-cache $ man git-credential-store
¿Le resultó útil esta guía? Háganos saber a través del formulario de comentarios a continuación. También puede compartir sus preguntas o pensamientos sobre este tema.