J'ai commencé à utiliser Visual Studio Code et j'essayais d'enregistrer mon projet de test dans GitHub , mais Visual Studio Code demande toujours mes informations d'identification GitHub .
J'ai installé sur mon PC GitHub Desktop et aussi Git , j'ai déjà couru:
git config --global credential.helper wincred
mais Visual Studio Code demande toujours les informations d'identification.
De l'aide?
voici mon fichier .gitconfig situé dans le profil utilisateur:
[filter "lfs"]
clean = git-lfs clean %f
smudge = git-lfs smudge %f
required = true
[user]
name = ddieppa
[user]
email = [email protected]
[credential]
helper = wincred
Voici les fenêtres contextuelles demandant les informations d'identification:
J'entre mes informations d'identification GitHub dans la fenêtre contextuelle, mais j'obtiens toujours cette erreur dans la fenêtre de sortie Git dans Visual Studio Code :
remote: Anonymous access to ddieppa/LineOfBizApp.git denied.
fatal: Authentication failed for 'https://github.com/ddieppa/LineOfBizApp.git/'
Réponses:
Dernière mise à jour: 05 mars 2019
Après 98 votes positifs, je pense que je dois donner une vraie réponse avec l'explication.
Pourquoi le code VS demande un mot de passe? Parce que VSCode exécute la fonction de récupération automatique, alors que git server n'a aucune information pour autoriser votre identité. Cela arrive quand:
https
une URL distante. Oui! Ce type de télécommande vous demandera absolument à chaque fois. Aucune exception ici! (Vous pouvez faire une astuce temporaire pour mettre en cache l'autorisation comme solution ci-dessous, mais ce n'est pas recommandé.)ssl
une URL distante, MAIS vous n'avez pas copié votre clé publique ssh sur le serveur git. Utilisezssh-keygen
pour générer votre clé et la copier sur le serveur git. Terminé! Cette solution vous aide également à ne plus jamais retaper le mot de passe sur le terminal. Voir une bonne instruction par @Fnatical ici pour la réponse.La partie mise à jour à la fin de cette réponse ne vous aide pas vraiment du tout. (Cela vous stagne en fait dans votre flux de travail.) Il arrête uniquement les événements dans VSCode et déplace ces événements vers le terminal.
Désolé si cette mauvaise réponse vous affecte depuis très longtemps.
-
la réponse originale (mauvaise)
J'ai trouvé la solution sur le document VSCode :
Donc, activez l'assistant d'informations d'identification afin que Git enregistre votre mot de passe en mémoire pendant un certain temps. Par défaut, Git mettra en cache votre mot de passe pendant 15 minutes.
Dans Terminal, entrez les informations suivantes:
Pour modifier le délai d'expiration du cache de mot de passe par défaut, entrez les informations suivantes:
MISE À JOUR (si la réponse originale ne fonctionne pas)
J'ai installé VS Code et je l'ai configuré ci-dessus, mais comme @ddieppa l'a dit, cela n'a pas fonctionné pour moi aussi. J'ai donc essayé de trouver une option dans User Setting, et j'ai vu "git.autofetch" = true, définissez maintenant c'est false! Le code VS n'est plus nécessaire pour saisir à nouveau le mot de passe à plusieurs reprises!
Dans le menu, cliquez sur Fichier / Préférences / Paramètres utilisateur Et saisissez-les:
Placez vos paramètres dans ce fichier pour remplacer les paramètres par défaut
la source
git config --global credential.helper cache
. Jetez un œil à git-scm.com/book/gr/v2/Git-Tools-Credential-Storage pour plus de détails.Vous devriez pouvoir définir vos informations d'identification comme ceci:
git remote set-url origin https://<USERNAME>:<PASSWORD>@bitbucket.org/path/to/repo.git
Vous pouvez obtenir l'URL distante comme ceci:
git config --get remote.origin.url
la source
Cela a fonctionné pour moi:
1. Définissez l'hepler des informations d'identification à stocker
$ git config --global credential.helper store
2. puis vérifiez si vous voulez:
$ git config --global credential.helper store
Exemple simple lors de l'utilisation de git bash cité ici (fonctionne uniquement pour le dépôt actuel, utilisez
--global
pour tous les dépôts)Fonctionnera également pour VS Code.
Exemple plus détaillé et utilisation avancée ici .
Remarque: le nom d' utilisateur et les mots de passe ne sont pas chiffrés et stockés au format texte brut, utilisez-les uniquement sur votre ordinateur personnel.
la source
store
l'a fait.https
àssh
et les clés ssh comme alternative.Les étapes suivantes vous expliquent comment:
** La génération de clés SSH sans phrase secrète n'est pas judicieuse si votre travail est particulièrement sensible.
OS - Fedora 28 | Editeur - VS Code v1.23.0 | Référentiel - Git
Générez des clés SSH:
ssh-keygen -t rsa -C "[email protected]"
Après avoir effectué les étapes ci-dessus, l'emplacement de votre clé publique est affiché dans la fenêtre du terminal. Si l'utilisateur actuellement connecté est «bob», l'emplacement de votre clé publique serait /home/bob/.ssh/id_rsa.pub
Copiez et importez la clé publique dans GitHub:
cat /home/bob/.ssh/id_rsa.pub
Copiez la clé publique entière qui est maintenant affichée dans votre fenêtre de terminal dans le presse-papiers
Confirmez les étapes ci-dessus:
ssh -T [email protected]
yes
Salut ! Vous vous êtes authentifié avec succès, mais GitHub ne fournit pas d'accès shell.
Commit / push d'abord sans avoir à entrer un nom d'utilisateur / mot de passe: -
touch test.txt
git add test.txt
git commit
- ouvre l'éditeur, saisissez un message et enregistrez le fichier. Si vi est votre éditeur, appuyez suri
une fois le fichier ouvert, entrez un message, appuyez sur esc, puis entrez:x
pour enregistrer les modifications.git push
Le seul hoquet que vous pouvez rencontrer est lorsque vous essayez de SSH vers GitHub. Ce lien fournira de l'aide -
Bonne chasse!
la source
Essayez d'installer " Git Credential Manager pour Windows " (et suivez les instructions pour configurer le gestionnaire d'informations d'identification ).
Lorsque requis dans une application utilisant Git (par exemple VS Code), il ouvrira "comme par magie " la boîte de dialogue requise pour la saisie des informations d'identification Visual Studio Team Services.
la source
ssh-agent
déjà. Mais VS Code semble ignorer cela sous Linux.Tout ce que j'avais à faire était d'exécuter cette commande:
git config --global credential.helper wincred
Ensuite, on m'a demandé deux fois le mot de passe.
La prochaine fois, cela a fonctionné sans me demander de mot de passe.
la source
store
plutôt quewincred
.git config --global credential.helper 'cache --timeout==1209600'
pour le faire durer 2 semaines au lieu des 15 minutes par défaut. Source: help.github.com/en/github/using-git/…store
le stockera en permanence sur le disque. De plus, mon commentaire précédent contient une erreur: ne pas utiliser==
, utiliser=
. Trop tard pour éditer.Utilisez ssh au lieu de http / https.
Vous devrez définir des clés ssh sur votre machine locale, les télécharger sur votre serveur git et remplacer le formulaire url
http://
pargit://
et vous pas besoin d'utiliser des mots de passe plus.Si vous ne pouvez pas utiliser ssh, ajoutez ceci à votre configuration:
les documents sont ici .
Utiliser la clé ssh dans github
Suivez simplement ces étapes et vous configurerez votre clé ssh en un rien de temps:
Générez une nouvelle clé ssh (ou ignorez cette étape si vous avez déjà une clé)
ssh-keygen -t rsa -C "your@email"
Une fois que vous avez votre clé dans le
home/.ssh
répertoire (ouUsers/<your user>.ssh
sous Windows), ouvrez-la et copiez le contenuComment ajouter la clé sh au compte github?
SSH keys
Add ssh key
Et vous êtes prêt à partir :-)
la source
En général, vous pouvez utiliser les fonctions de stockage des informations d'identification intégrées:
git config --global credential.helper store
Ou, si vous êtes sous Windows, vous pouvez utiliser leur système d'informations d'identification:
git config --global credential.helper wincred
Ou, si vous êtes sous MacOS, vous pouvez utiliser leur système d'informations d'identification:
git config --global credential.helper osxkeychain
La première solution est optimale dans la plupart des situations.
la source
Authentification Git automatique . De la v1.45 Release Notes :
la source
askpass = /usr/bin/ksshaskpass
dans mon.gitconfig
et en conséquence, je recevais un nom d'utilisateur et un mot de passe à chaque fois. Cela sera probablement plus voté en tant que rôles de la version 1.45 sur plus de machines.Pour Windows 10: allez dans le panneau de configuration / Gestionnaire d'informations d'identification / Informations d'identification Windows -> cliquez sur le lien git, -> modifier -> mettre à jour avec un nouveau mot de passe. Cela devrait fonctionner
la source
Utilisez une clé SSH sans mot de passe.
C'est peut-être évident pour certains (pas pour moi). Cela ne résout pas non plus le problème si vous avez absolument besoin d'une phrase secrète, mais c'était un compromis décent dans ma situation sur Mac.
la source
Après avoir combattu avec quelque chose comme ça pendant un petit moment, je pense avoir trouvé une bonne solution, surtout lorsque j'ai plusieurs comptes à la fois sur GitHub et BitBucket. Cependant pour VSCode, il a finalement fini par le démarrer à partir d'un terminal Git Bash afin qu'il hérite des variables d'environnement de la session bash et qu'il savait quel agent ssh regarder.
Je me rends compte que c'est un vieux post mais j'ai encore vraiment eu du mal à trouver un endroit pour obtenir les informations dont j'avais besoin. De plus, depuis 2017, ssh-agent a la possibilité de vous demander une phrase secrète uniquement lorsque vous essayez d'accéder à un référentiel.
Je mets mes conclusions ici si quelqu'un est intéressé:
la source
Suite à cet article :
Vous pouvez simplement définir GIT_SSH env. var. au programme plink.exe de Putty. (Utilisez ensuite pageant.exe comme agent d'authentification.)
la source
Résolvez le problème en suivant les étapes.
Logiciels désinstallés Vscode et git et réinstallés les mêmes. Changement de l'URL du clone du référentiel git de ssh en https.
la source
J'ai eu un problème similaire dans Visual Studio Code.
J'ai résolu en changeant l'URL distante en https . (dans le fichier .git / config)
et aussi
tiré à nouveau, une fenêtre contextuelle d'identification Windows est sortie, des problèmes résolus
la source
Pour moi, j'avais configuré mon référentiel distant avec une clé SSH mais git ne pouvait pas les trouver car la variable d'environnement HOMEDRIVE était automatiquement définie sur un partage réseau en raison de la stratégie de domaine de mon entreprise. Changer cette variable d'environnement dans mon shell avant le lancement a
code .
fait que VSCode hérite de la variable d'environnement correcte et n'altère plus d'erreurs de connexion dans la fenêtre de sortie de git.Maintenant, je dois juste comprendre comment remplacer la stratégie de domaine afin que HOMEDRIVE pointe toujours vers mon
c:\users\marvhen
répertoire local qui est l'emplacement par défaut du.ssh
répertoire.la source
J'ai réussi à arrêter cela en effectuant les étapes suivantes.
cd "C:\Program Files\Git\mingw64\libexec\git-core"
suivi degit-credential-manager.exe uninstall
git config --global credential.helper wincred
REMARQUE: J'utilisais un jeton d'accès personnel comme mot de passe.
la source
J'ai résolu un problème similaire de manière simple:
git pull origin master
. Remplacez «origine» par votre nom de télécommandeC'est tout. J'ai résolu le problème
la source
en plus d'ajouter les entrées de configuration ssh ci-dessus
si windows
dans powershell maintenant, le code vs ne devrait pas inviter ...
la source
pour windows 10, appuyez sur windows key type cred et vous devriez voir "Credential Manager" dans le Panneau de configuration, cliquez pour ouvrir, puis supprimez les informations d'identification mises en cache, puis réessayez, il vous demandera la clé de mot de passe de l'ID utilisateur dans le mot de passe correct et vous serez bon .
Je suis arrivé avec moi quand j'ai changé mon mot de passe réseau
la source
J'exécute généralement cette commande simple pour changer l'url distante git de https en ssh
la source