Cómo solucionar Git siempre solicitar credenciales de usuario para la autenticación HTTP (s)

Cómo solucionar Git siempre solicitar credenciales de usuario para la autenticación HTTP (s)

Para acceder o trabajar con un repositorio de git remoto, puede usar Ssh o Http (s) protocolos; Con el primero, cuando se trata de repositorios privados, simplemente puede configurar las claves SSH sin una frase de pases 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 necesita autenticación para un contexto de URL en particular): los usuarios de GitHub lo saben bien.

En este artículo, le mostraremos cómo arreglar Git siempre solicitando las credenciales de usuario para acceder a 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 sobre Http (s).

Cómo instalar Git en Linux

Si no tienes el Git Paquete instalado en su sistema, ejecute el comando apropiado para su distribución de Linux para instalarlo (use el Sudo comando cuando sea necesario).

$ sudo apt install git [en Debian/Ubuntu] # yum install git [en Centos/Rhel/Fedora] $ sudo zypper instalación git [en opensuse] $ sudo pacman -s git [en arch linux] 

Ingresar el nombre de usuario y la contraseña de Git en URL remota

Como habíamos mencionado anteriormente, al clonar un control remoto Git repositorio Http (s), Cada conexión necesita un nombre de usuario y contraseña como se muestra.

Repositorio de Git Remote Clone

Para prevenir Git de pedir tu nombre de usuario y contraseña, Puede ingresar las credenciales de inicio de sesión en la URL como se muestra.

$ sudo git clone https: // nombre de usuario: [correo electrónico protegido]/username/repo_name.git o $ sudo git clone https: // nombre de usuario: [correo electrónico protegido]/username/repo_name.git local_folder 
Agregar credenciales de git en URL

El principal inconveniente de este método que tu nombre de usuario y contraseña se guardará en el comando en el archivo del historial de shell.

Ver la historia del shell

así como en el .git/config Archivo en la carpeta local, que posee un riesgo de seguridad.

$ gato .git/config 
Ver las credenciales de Git en el archivo de configuración

Nota: Para los usuarios de GitHub que han habilitado la autenticación de dos factores, o están accediendo a una organización que utiliza Saml Inicio de sesión único, debe generar y usar un token de acceso personal en lugar de ingresar su contraseña para Https git (Como se muestra en las salidas de muestra en esta guía). Para generar un token de acceso personal, en Github, ir a Ajustes => Configuración del desarrollador => Personal tokens de acceso.

Guardar el nombre de usuario y la contraseña del repositorio de git remoto en el disco

El segundo método es usar el Git Credentials Helper para guardar su nombre de usuario y contraseña en un archivo simple en el disco como se muestra.

Credencial de configuración de $ Git.tienda de ayuda o $ git config -credencial global.tienda de ayudantes 

De aquí en adelante, Git escribirá credenciales al ~/.acreditados Archivo para cada contexto de URL, cuando se accede por primera vez. Para ver el contenido de este archivo, puede usar el comando CAT como se muestra.

$ Cat ~/.acreditados 
Ver credenciales Git guardadas en el disco

Para 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 los usuarios a Git tampoco es seguro ya que el archivo de almacenamiento no está cifrado y solo está protegido por los permisos estándar del sistema de archivos.

El tercer método explicado a continuación se considera más seguro.

Almacenamiento de usuario y contraseña de repositorio de Git Remote en caché en la memoria

Por último, pero no menos importante, también puedes usar el Git credenciales ayudantes para guardar temporalmente sus credenciales en la memoria durante algún tiempo. Para hacer eso, emita el siguiente comando.

Credencial de configuración de $ Git.Cache auxiliar o config de $ git -credencial global.caché 

Después de ejecutar el comando anterior, cuando intente acceder a un repositorio privado remoto por primera vez, Git le pedirá su nombre de usuario y contraseña y lo guardará en la memoria por algún tiempo.

Cache Git Credenciales en la memoria

El tiempo de almacenamiento de almacenamiento predeterminado es 900 segundos (o 15 minutos), después de lo cual Git le pedirá que ingrese su nombre de usuario y contraseña nuevamente. Puede cambiarlo de la siguiente manera (1800 segundos = 30 minutos o 3600 segundos = 1 hora).

$ git config -credencial global.Helper 'Cache -TimeOut = 18000' o $ Git Config -Credencial de global.Ayudante 'Cache -TimeOut = 36000' 

Para más información sobre Git y ayudantes de credenciales, ver sus páginas de hombre.

$ man git $ man git-acreditial-cache $ man git-acreditial-store 

¿Fue útil esta guía?? Háganos saber a través del formulario de comentarios a continuación. También puede compartir cualquier pregunta o pensamiento sobre este tema.