usuario pide password guardar credenciales contraseña cambiar and git credentials git-config

password - git me pide usuario y contraseña



¿Cómo guardar el nombre de usuario y la contraseña en GIT? (16)

Almacene el nombre de usuario y la contraseña en .git-credentials

.git-credentials es donde se almacenan su nombre de usuario y contraseña cuando ejecuta git config --global credential.helper store , que es lo que sugieren otras respuestas, y luego ingrese su nombre de usuario y contraseña:

https://${username}:${password_or_access_token}@github.com

Entonces, para guardar el nombre de usuario y la contraseña:

git config —-global credential.helper store echo “https://${username}:${password_or_access_token}@github.com“ > ~/.git-credentials

Esto es muy útil para el robot github, por ejemplo, para resolver las compilaciones automatizadas en cadena en el mismo repositorio de docker al tener reglas para diferentes ramas y luego activarlo presionando en post_push hooker en el docker hub.

Un ejemplo de esto se puede ver aquí en stackoverflow.

Quiero usar un push and pull automáticamente en GitExtension , sin ingresar mi usuario y contraseña en un aviso, siempre.

Entonces, ¿cómo puedo guardar mis credenciales en GIT ?


Active el asistente de credenciales para que Git guarde su contraseña en la memoria durante algún tiempo:

En Terminal, ingrese lo siguiente:

# Set the cache to timeout after 1 hour (setting is in seconds) git config --global credential.helper ''cache --timeout=3600''

De forma predeterminada, Git almacenará en caché su contraseña durante 15 minutos.

Para cambiar el tiempo de espera predeterminado de la caché de contraseña, ingrese lo siguiente:

git config --global user.name "your username" git config --global user.password "your password"

De la Ayuda de GitHub


Además de editar el archivo ~/.gitconfig , eso puede hacer si pregunta:

git config --local user.name ''your username'' git config --local user.password ''your password''

o

git config --global user.name ''your username'' git config --global user.password ''your password''

Nota para usar siempre comillas simples :

MY_GIT_TOKEN=xxxxxxxxxxxxxxxx

o

git config --global url."https://api:[email protected]/".insteadOf "https://github.com/" git config --global url."https://ssh:[email protected]/".insteadOf "ssh://[email protected]/" git config --global url."https://git:[email protected]/".insteadOf "[email protected]:"

Su nombre de usuario y contraseña pueden usar algunos caracteres que romperían su contraseña si usa comillas dobles.

--local o --global significa que los parámetros de configuración se guardan para el proyecto o para el usuario del --local --global .


Del comentario de rifrol, en Linux Ubuntu, de esta answer :

sudo apt-get install libsecret-1-0 libsecret-1-dev cd /usr/share/doc/git/contrib/credential/libsecret sudo make git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret

Algunas otras distribuciones proporcionan el binario para que no tenga que construirlo.

En OS X, por lo general, viene "integrado" con un módulo predeterminado de "osxkeychain" para que pueda obtenerlo de forma gratuita.


Después de revisar docenas de publicaciones SO, blogs, etc., probé todos los métodos, y esto es lo que se me ocurrió. Cubre TODO.

La hoja de referencia de credenciales y paquetes privados de Vanilla DevOps Git

Estas son todas las formas y herramientas mediante las cuales puede autenticar de forma segura git para clonar un repositorio sin una solicitud de contraseña interactiva .

  • SSH Public Keys
    • SSH_ASKPASS
  • Tokens de acceso a la API
    • GIT_ASKPASS
    • .gitconfig en su lugar
    • .gitconfig [credencial]
    • .git-credentials
    • .netrc
  • Paquetes privados (gratis)
    • nodo / npm package.json
    • python / pip / eggs require.txt
    • gemas de rubí Gemfile
    • golang go.mod

La bala de plata

¿Quieres Just Works ™? Esta es la bala mágica de plata.

Obtenga su token de acceso (consulte la sección en la hoja de referencia si necesita las instrucciones de Github o Gitea para eso) y configúrelo en una variable de entorno (tanto para el desarrollo local como para la implementación):

git config --local --edit

Para Github, copie y ejecute estas líneas textualmente :

git config --global --edit

Enhorabuena, ahora los repositorios git de clonación de herramientas automatizadas no se verán obstaculizados por una solicitud de contraseña, ya sea usando https o cualquier estilo de url ssh.

¿No estás usando Github?

Para otras plataformas (Gitea, Github, Bitbucket), simplemente cambie la URL. No cambie los nombres de usuario (aunque sean arbitrarios, son necesarios para distintas entradas de configuración).

Compatibilidad

Esto funciona localmente en MacOS, Linux, Windows (en Bash), Docker, CircleCI, Heroku, Akkeris, etc.

Más información

Vea la sección ".gitconfig en lugar de" de la hoja de trucos.

Seguridad

Vea la sección "Seguridad" de la hoja de trucos.


En ese caso, necesita la ayuda de credenciales de git para decirle a git que recuerde su contraseña y nombre de usuario de GitHub mediante la siguiente línea de comando:

git config --global credential.helper wincred

y si está utilizando repositorio utilizando la clave SSH, entonces necesita la clave SSH para autenticarse.


Estará más seguro si usa la autenticación SSH que la autenticación de nombre de usuario / contraseña.

Si está utilizando una Mac, la autenticación de cliente SSH está integrada en el llavero de MacOS. Una vez que haya creado una clave SSH, escriba en su terminal:

git config user.name "your username" git config user.password "your password"

Esto agregará la clave privada SSH al llavero MacOS. El cliente git usará ssh cuando se conecte al servidor remoto. Mientras haya registrado su clave pública ssh con el servidor, estará bien.


Ninguna de las respuestas anteriores funcionó para mí. Seguía recibiendo lo siguiente cada vez que quería fetch o pull :

Enter passphrase for key ''/Users/myusername/.ssh/id_rsa'':

Para Mac

Pude evitar que pidiera mi frase de contraseña:

  1. Abra la configuración ejecutando: vi ~/.ssh/config
  2. Se agregó lo siguiente: UseKeychain yes
  3. Guardado y salir: Presione Esc , luego ingrese :wq!

Para ventanas

Pude hacer que funcionara utilizando la información en este stackexchange: https://unix.stackexchange.com/a/12201/348665


Para la configuración global, abra el terminal (desde cualquier lugar) ejecute lo siguiente:

ssh-add -K ~/.ssh/id_rsa

Por eso, cualquier repositorio de git local que tenga en su máquina usará esa información.

Puede configurar individualmente para cada repositorio haciendo:

  • Abra la terminal en la carpeta del repositorio.
  • ejecutar siguiente:

    git config --global user.name "your username" git config --global user.password "your password"

Afecta solo a esa carpeta (porque su configuración es local).


Puede configurar su nombre de usuario y contraseña de esta manera:

# Set git to use the credential memory cache git config --global credential.helper cache


Puede editar el archivo ~/.gitconfig para almacenar sus credenciales

sudo nano ~/.gitconfig

Que ya debería tener

[user] email = [email protected] user = gitUSER

Debe agregar al final de este archivo.

[credential] helper = store

La razón por la que recomiendo esta opción es porque es global y si en algún momento necesita eliminar la opción, sabe a dónde ir y cambiarla.

SOLO USE ESTA OPCIÓN EN SU COMPUTADORA PERSONAL.

Entonces cuando tiras | clon | ingrese su contraseña de git, en general, la contraseña se guardará en ~/.git-credentials en el formato

https://GITUSER:[email protected]

DONDE DOMINIO.XXX PODRÍA ESTAR GITHUB.COM | BITBUCKET.ORG | OTRO

Ver Docs

Reinicia tu terminal.


Puede usar git-credential-store para almacenar sus contraseñas sin cifrar en el disco, protegidas solo por los permisos del sistema de archivos.

Ejemplo

$ git config credential.helper store $ git push http://example.com/repo.git Username: <type your username> Password: <type your password> [several days later] $ git push http://example.com/repo.git [your credentials are used automatically]

Puede verificar las credenciales almacenadas en el archivo ~/.git-credentials

Para obtener más información, visite Docs


Puede usar la git config para habilitar el almacenamiento de credenciales en git.

git config --global credential.helper store

Al ejecutar este comando, la primera vez que extrae o empuja del repositorio remoto, se le preguntará sobre el nombre de usuario y la contraseña.

Luego, para las comunicaciones subsiguientes con el repositorio remoto, no tiene que proporcionar el nombre de usuario y la contraseña.

El formato de almacenamiento es un archivo .git-credentials , almacenado en texto sin formato.

Además, puede usar otros ayudantes para la git config credential.helper , es decir, la memoria caché:

git config credential.helper cache <timeout>

que toma un timeout parameter opcional, que determina durante cuánto tiempo se guardarán las credenciales en la memoria. Usando el ayudante, las credenciales nunca tocarán el disco y se borrarán después del tiempo de espera especificado. El valor default es 900 seconds (15 minutes).

ADVERTENCIA : si utiliza este método, las contraseñas de su cuenta git se guardarán en formato de plaintext formato, en el global .gitconfig file , por ejemplo, en Linux será /home/[username]/.gitconfig

Si esto no es deseable para usted, use una ssh key para sus cuentas.


Simplemente ponga sus credenciales en la URL de esta manera:

https://Username : Password @ github.com/myRepoDir/myRepo.git

Puede almacenarlo así:

git remote add myrepo https://Userna...

... ejemplo para usarlo :

git push myrepo master

Ahora eso es para enumerar los alias de url:

git remote -v

... y que el comando para eliminar uno de ellos:

git remote rm myrepo


Solo usa

sudo apt-get install libsecret-1-0 libsecret-1-dev cd /usr/share/doc/git/contrib/credential/libsecret sudo make git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret

y haga el git pull , pedirá nombre de usuario y contraseña, a partir de ahora no proporcionará ningún mensaje de nombre de usuario y contraseña, almacenará los detalles


correr

git config credential.helper store

entonces

git pull

proporcione un nombre de usuario y contraseña y esos detalles se recordarán más tarde. Las credenciales se almacenan en un archivo en el disco, con los permisos de disco de "solo legible / grabable por el usuario" pero aún en texto sin formato.

Si quieres cambiar la contraseña más tarde

git pull

Fallará, porque la contraseña es incorrecta, git luego elimina el usuario ofensivo + contraseña del archivo ~/.git-credentials , por lo que ahora vuelva a ejecutar

git pull

para proporcionar una nueva contraseña para que funcione como antes.