Comencé a usar Visual Studio Code e intentaba guardar mi proyecto de prueba en GitHub , pero Visual Studio Code siempre me pide mis credenciales de GitHub .
He instalado en mi PC GitHub Desktop y también Git , ya ejecuté:
git config --global credential.helper wincred
pero aún así Visual Studio Code está pidiendo las credenciales.
¿Alguna ayuda?
aquí está mi archivo .gitconfig ubicado en el perfil del usuario:
[filter "lfs"]
clean = git-lfs clean %f
smudge = git-lfs smudge %f
required = true
[user]
name = ddieppa
[user]
email = [email protected]
[credential]
helper = wincred
Aquí están las ventanas emergentes que solicitan las credenciales:
Ingreso mis credenciales de GitHub en la ventana emergente, pero sigo recibiendo este error en la ventana de salida de Git en Visual Studio Code :
remote: Anonymous access to ddieppa/LineOfBizApp.git denied.
fatal: Authentication failed for 'https://github.com/ddieppa/LineOfBizApp.git/'
git
visual-studio
github
visual-studio-code
ddieppa
fuente
fuente
Respuestas:
Última actualización: 05 de marzo de 2019
Después de 98 votos a favor, creo que necesito dar una respuesta verdadera con la explicación.
¿Por qué el código VS pide una contraseña? Porque VSCode ejecuta la función de recuperación automática, mientras que el servidor git no tiene ninguna información para autorizar su identidad. Sucede cuando:
https
una URL remota. ¡Si! Este tipo de control remoto le preguntará absolutamente todo el tiempo. No hay excepciones aquí! (Puede hacer un truco temporal para almacenar en caché la autorización como la solución a continuación, pero esto no se recomienda).ssl
una URL remota, PERO no ha copiado su clave pública ssh en el servidor git. Usessh-keygen
para generar su clave y copiarla al servidor git. ¡Hecho! Esta solución también le ayuda a nunca volver a escribir la contraseña en el terminal. Vea una buena instrucción de @Fnatical aquí para la respuesta.La parte actualizada al final de esta respuesta realmente no te ayuda en absoluto. (Realmente lo hace estancarse en su flujo de trabajo). Solo detiene las cosas que suceden en VSCode y mueve estos eventos al terminal.
Lo siento si esta mala respuesta te ha afectado por mucho, mucho tiempo.
-
la respuesta original (mala)
Encontré la solución en el documento VSCode :
Por lo tanto, active el asistente de credenciales para que Git guarde su contraseña en la memoria durante algún tiempo. De forma predeterminada, Git almacenará en caché su contraseña durante 15 minutos.
En Terminal, ingrese lo siguiente:
Para cambiar el tiempo de espera predeterminado de la caché de contraseña, ingrese lo siguiente:
ACTUALIZACIÓN (si la respuesta original no funciona)
Instalé VS Code y configé lo mismo arriba, pero como dijo @ddieppa, tampoco funcionó para mí. Así que intenté encontrar una opción en Configuración de usuario, y vi "git.autofetch" = verdadero, ¡ahora configuro que es falso! ¡VS Code ya no es necesario para ingresar la contraseña repetidamente!
En el menú, haga clic en Archivo / Preferencias / Configuración de usuario y escriba esto:
Coloque su configuración en este archivo para sobrescribir la configuración predeterminada
fuente
git config --global credential.helper cache
. Eche un vistazo a git-scm.com/book/gr/v2/Git-Tools-Credential-Storage para obtener más detalles.Debería poder establecer sus credenciales de esta manera:
git remote set-url origin https://<USERNAME>:<PASSWORD>@bitbucket.org/path/to/repo.git
Puede obtener la URL remota de esta manera:
git config --get remote.origin.url
fuente
Esto ha estado funcionando para mí:
1. Establezca hepler de credenciales para almacenar
$ git config --global credential.helper store
2. luego verifique si desea:
$ git config --global credential.helper store
Ejemplo simple cuando se usa git bash citado desde Aquí (funciona solo para el repositorio actual, se usa
--global
para todos los repositorios )También funcionará para VS Code.
Ejemplo más detallado y uso avanzado aquí .
Nota: El nombre de usuario y las contraseñas no están encriptados y almacenados en formato de texto sin formato, así que úselos solo en su computadora personal.
fuente
store
lo hizo.https
assh
y utilice las teclas de ssh como una alternativa.Los siguientes pasos lo guían a través de cómo:
** Generar claves SSH sin una frase de contraseña no es aconsejable si su trabajo es particularmente sensible.
SO - Fedora 28 | Editor - Código VS v1.23.0 | Repositorio - Git
Generar claves SSH:
ssh-keygen -t rsa -C "[email protected]"
Después de completar los pasos anteriores, la ubicación de su clave pública se muestra en la ventana del terminal. Si el usuario actualmente conectado es 'bob', la ubicación de su clave pública sería /home/bob/.ssh/id_rsa.pub
Copie e importe la clave pública a GitHub:
cat /home/bob/.ssh/id_rsa.pub
Copie toda la clave pública que ahora se muestra en la ventana de su terminal en el portapapeles
Confirme los pasos anteriores:
ssh -T [email protected]
yes
Hola ! Te has autenticado con éxito, pero GitHub no proporciona acceso de shell.
Primero confirme / presione sin tener que ingresar un nombre de usuario / contraseña: -
touch test.txt
git add test.txt
git commit
- Abre el editor, ingresa un mensaje y guarda el archivo. Si vi es su editor, presionei
una vez que se abra el archivo, ingrese un mensaje, presione esc y luego ingrese:x
para guardar los cambios.git push
El único inconveniente que puede encontrar es cuando intenta SSH a GitHub. Este enlace proporcionará algo de ayuda:
¡Feliz cacería!
fuente
Intente instalar " Git Credential Manager para Windows " (y siga las instrucciones para configurar el administrador de credenciales ).
Cuando sea necesario dentro de una aplicación que use Git (por ejemplo, VS Code), se abrirá " mágicamente " el cuadro de diálogo requerido para la entrada de credenciales de Visual Studio Team Services.
fuente
ssh-agent
. Pero VS Code parece ignorar eso en Linux.Todo lo que tenía que hacer era ejecutar este comando:
git config --global credential.helper wincred
Luego se me solicitó la contraseña dos veces.
La próxima vez funcionó sin pedirme una contraseña.
fuente
store
lugar dewincred
.git config --global credential.helper 'cache --timeout==1209600'
para que dure 2 semanas en lugar de los 15 minutos predeterminados. Fuente: help.github.com/en/github/using-git/…store
lo almacenará permanentemente en el disco. Además, mi comentario anterior tiene un error: no usar==
, usar=
. Demasiado tarde para editar.Use ssh en lugar de http / https.
Será necesario que las claves ssh conjunto en el equipo local, cargarlos en el servidor de Git y reemplazar la forma url
http://
paragit://
y no tendrá que utilizan contraseñas más.Si no puede usar ssh agregue esto a su configuración:
Los documentos están aquí .
Usando la tecla ssh en github
Simplemente siga esos pasos y configurará su clave ssh en muy poco tiempo:
Genere una nueva clave ssh (u omita este paso si ya tiene una clave)
ssh-keygen -t rsa -C "your@email"
Una vez que tenga su clave configurada en el
home/.ssh
directorio (oUsers/<your user>.ssh
debajo de Windows), ábrala y copie el contenido¿Cómo agregar la tecla sh a la cuenta de github?
SSH keys
Add ssh key
Y todo listo para ir :-)
fuente
En general, puede utilizar las instalaciones de almacenamiento de credenciales incorporadas:
git config --global credential.helper store
O, si está en Windows, puede usar su sistema de credenciales:
git config --global credential.helper wincred
O, si estás en MacOS, puedes usar su sistema de credenciales:
git config --global credential.helper osxkeychain
La primera solución es óptima en la mayoría de las situaciones.
fuente
Autenticación automática de Git . De las notas de la versión v1.45 :
fuente
askpass = /usr/bin/ksshaskpass
en mi.gitconfig
y, como resultado, recibía un nombre de usuario y una contraseña cada vez. Esto probablemente se votará más a medida que la versión 1.45 se desarrolle en más máquinas.Para Windows 10: vaya al panel de control / Administrador de credenciales / Credencial de Windows -> haga clic en el enlace git, -> editar -> actualizar a nueva contraseña. Eso debería funcionar
fuente
Use una clave SSH sin una frase de contraseña.
Tal vez esto sea obvio para algunos (no lo fue para mí). Tampoco resuelve el problema si requiere absolutamente una frase de contraseña, pero este fue un compromiso decente en mi situación en Mac.
fuente
Después de luchar con algo como esto por un tiempo, creo que se me ocurrió una buena solución, especialmente cuando tengo varias cuentas en GitHub y BitBucket. Sin embargo, para VSCode, finalmente terminó como iniciarlo desde un terminal Git Bash para que heredara las variables de entorno de la sesión bash y supiera a qué agente ssh mirar.
Me doy cuenta de que esta es una publicación antigua, pero todavía me costó mucho encontrar un lugar para obtener la información que necesitaba. Además, desde 2017, ssh-agent tiene la capacidad de solicitar una frase de contraseña solo cuando intenta acceder a un repositorio.
Pongo mis conclusiones aquí si alguien está interesado:
fuente
Siguiendo ese artículo :
Puede configurar GIT_SSH env. var. al programa Putty's plink.exe. (Luego use pageant.exe como agente de autenticación)
fuente
Resuelva el problema siguiendo los pasos.
Software desinstalado Vscode y git y reinstalado el mismo. Cambió la URL del clon del repositorio git de ssh a https.
fuente
Tuve un problema similar en Visual Studio Code.
Lo resolví cambiando la url remota a https . (en el archivo .git / config)
y también
tirado de nuevo, apareció una ventana emergente de credenciales de Windows, problemas resueltos.
fuente
Para mí, configuré mi repositorio remoto con una clave SSH pero git no pudo encontrarlos porque la variable de entorno HOMEDRIVE se configuraba automáticamente en un recurso compartido de red debido a la política de dominio de mi empresa. Cambiar esa variable de entorno en mi shell antes del inicio
code .
causó que VSCode heredara la variable de entorno correcta y no violara más errores de conexión en la ventana de salida de git.Ahora solo tengo que descubrir cómo anular la política de dominio para que HOMEDRIVE siempre apunte a mi
c:\users\marvhen
directorio local , que es la ubicación predeterminada para el.ssh
directorio.fuente
Logré detener esto llevando a cabo los siguientes pasos.
cd "C:\Program Files\Git\mingw64\libexec\git-core"
seguido degit-credential-manager.exe uninstall
git config --global credential.helper wincred
NOTA: Estaba usando un token de acceso personal como mi contraseña.
fuente
Resolví un problema similar de una manera simple:
git pull origin master
. Reemplace 'origen' con su nombre remotoEso es todo. Resolví el problema
fuente
aparte de agregar las entradas de configuración ssh anteriores
si ventanas
en powershell ahora el código vs no debería solicitar ...
fuente
para Windows 10 presione la tecla de Windows escriba cred y debería ver "Credential Manager" en el Panel de control, haga clic para abrir y luego elimine las credenciales en caché relacionadas, luego intente nuevamente, le pedirá la clave de contraseña de identificación de usuario en la contraseña correcta y estará bien .
Sucedió conmigo cuando cambié mi contraseña de red
fuente
Normalmente ejecuto este comando simple para cambiar la URL remota de git de https a ssh
fuente