J'ai un projet hébergé sur GitHub. J'échoue lorsque j'essaie de pousser mes modifications sur le maître. Je reçois toujours le message d'erreur suivant
Password for 'https://[email protected]':
remote: Invalid username or password.
fatal: Authentication failed for 'https://[email protected]/eurydyce/MDANSE.git/'
Cependant, régler ma clé ssh sur github semble bien. En effet, quand je fais un ssh -T [email protected]
je reçois
Hi eurydyce! You've successfully authenticated, but GitHub does not provide Shell access.
Ce qui semble indiquer que tout va bien de ce côté-là (eurydyce étant mon nom d'utilisateur github). J'ai strictement suivi les instructions données sur github et les recommandations de nombreuses discussions de pile, mais pas moyen. Auriez-vous une idée de ce que j'ai pu faire de mal?
https: //[email protected]/eurydyce/MDANSE.git n'est pas une URL ssh, c'est une URL https (qui nécessiterait votre nom de compte GitHub au lieu de 'git
').
Essayez d'utiliser ssh://[email protected]:eurydyce/MDANSE.git
ou simplement [email protected]:eurydyce/MDANSE.git
git remote set-url Origin [email protected]:eurydyce/MDANSE.git
Le OP Pellegrini Eric ajoute:
C'est ce que j'ai fait dans mon fichier
~/.gitconfig
qui contient actuellement les entrées suivantes[remote "Origin"] [email protected]:eurydyce/MDANSE.git
Cela ne devrait pas être dans votre configuration globale (celle dans ~/
).
Vous pouvez vérifier git config -l
dans votre référentiel: cette URL doit être déclarée dans le local config: <yourrepo>/.git/config
.
Assurez-vous donc que vous êtes dans le chemin du dépôt lorsque vous exécutez la commande git remote set-url
.
Après avoir activé l'authentification à deux facteurs (2FA), il est possible que quelque chose comme ceci apparaisse lorsque vous essayez d'utiliser git clone
, git fetch
, git pull
ou git Push
:
$ git Push Origin master
Username for 'https://github.com': your_user_name
Password for 'https://[email protected]':
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/your_user_name/repo_name.git/'
Dans la documentation de l'aide GitHub :
Une fois que 2FA est activé, vous devrez entrer un jeton d’accès personnel au lieu d’un code 2FA et de votre mot de passe GitHub.
...
Par exemple, lorsque vous accédez à un référentiel à l'aide de Git sur la ligne de commande à l'aide de commandes telles que
git clone
,git fetch
,git pull
ougit Push
avec des URL HTTPS, vous devez fournir votre nom d'utilisateur GitHub et votre jeton d'accès personnel lorsque vous êtes invité à saisir un nom d'utilisateur et un mot de passe. L'invite de ligne de commande ne vous précisera pas que vous devez entrer votre jeton d'accès personnel lorsqu'elle vous demande votre mot de passe.
Question associée: https://stackoverflow.com/a/21374369/101662
Étapes de la solution:
Lorsque vous utilisez l'URL https://
pour vous connecter à votre référentiel distant, Git n'utilisera pas SSH comme authentification, mais tentera plutôt une authentification de base via HTTPS. En règle générale, vous utilisez simplement l’URL sans nom d’utilisateur, par exemple. https://github.com/username/repository.git
, et Git vous demanderait alors de saisir un nom d'utilisateur (votre nom d'utilisateur GitHub) et votre mot de passe.
Si vous utilisez https://[email protected]/username/repository.git
, vous avez prédéfini le nom d'utilisateur que Git utilisera pour l'authentification: something
. Puisque vous avez utilisé https://[email protected]
, Git essaiera de vous connecter en utilisant le nom d'utilisateur git
pour lequel votre mot de passe ne fonctionne bien sûr pas. Donc, vous devrez utiliser votre nom d'utilisateur à la place.
L'alternative consiste à utiliser SSH pour l'authentification. De cette façon, vous éviterez de devoir taper votre mot de passe tout le temps. et comme cela semble déjà fonctionner, c’est ce que vous devriez utiliser.
Pour ce faire, vous devez cependant modifier votre URL distante. Git sait donc qu'il doit se connecter via SSH. Le format est alors ceci: [email protected]:username/repository
. Pour mettre à jour votre URL, utilisez cette commande:
git remote set-url Origin [email protected]:username/repository
Si, comme moi, vous venez de mettre à jour votre mot de passe et d'exécuter
git Push
pour rencontrer ce problème, la solution est très simple.
Pour les utilisateurs de Mac uniquement. Vous devez supprimer les entrées d'accès à votre trousseau OSX pour GitHub. Vous pouvez le faire via un terminal en lançant les commandes suivantes.
Via la ligne de commande, vous pouvez utiliser directement l’assistant d’identité pour effacer l’entrée trousseau.
Pour ce faire, tapez la commande suivante:
git credential-osxkeychain erase
Host=github.com
protocol=https
# [Now Press Return]
Si cela réussit, rien ne s’imprimera. Pour vérifier que cela fonctionne, essayez de cloner un référentiel à partir de GitHub ou réexécutez votre action précédente, comme dans mon cas git Push
. Si vous êtes invité à entrer un mot de passe, l'entrée du trousseau a été supprimée.
juste essayer de le pousser à votre branche à nouveau. Cela vous demandera à nouveau votre nom d'utilisateur et votre mot de passe afin que vous puissiez saisir le mot de passe modifié. Pour que votre nouveau mot de passe soit à nouveau stocké dans le cache.
Au lieu de git pull
, essayez également git pull Origin master
J'ai changé le mot de passe et la première commande a donné l'erreur:
$ git pull
remote: Invalid username or password.
fatal: Authentication failed for ...
Après git pull Origin master
, il a demandé le mot de passe et a semblé se mettre à jour
Je reçois ceci en clonant une application à partir de bitbucket:
Cloning into 'YourAppName'...
Password for 'https://youruser id':
remote: Invalid username or password
Je l'ai résolu. Ici, vous devez créer un mot de passe pour votre ID utilisateur
Cette erreur est peut-être due à la mise à jour de votre mot de passe. Donc, sur Terminal d’abord, assurez-vous d’effacer vos informations d’identification GitHub du trousseau, puis envoyez vos modifications à votre rapport, le terminal vous demandera votre nom d’utilisateur et votre mot de passe.
Si vous obtenez ce message d'erreur dans cette situation:
Ensuite, regardez cette réponse: https://stackoverflow.com/a/39608906/521257
Windows stocke les informations d'identification dans un gestionnaire d'informations d'identification, effacez-le ou mettez-le à jour.
Inutile de compter sur la génération d'un jeton Personal Access, puis sur l'utilisation du jeton Personal Access à la place de votre mot de passe.
La solution rapide consiste à définir votre URL distante sur ssh
et non https
.
Faites ceci git remote set-url Origin [email protected]:username/repository
Désactiver l'authentification à 2 facteurs chez github a fonctionné pour moi.
Je vois qu’une réponse supprimée dit ceci, avec le motif de suppression «ne répond pas à la question». Si cela fonctionne, alors je pense que cela répond à la question ...
Étant donné que vous souhaitez probablement laisser 2FA activé pour votre compte, vous pouvez configurer une clé ssh. Ainsi, vous n'aurez pas besoin de saisir vos informations d'identification Github à chaque fois que vous souhaitez transmettre le travail à Github.
Vous pouvez trouver toutes les étapes d’installation de ssh dans documentation . Tout d’abord, assurez-vous de ne pas avoir actuellement de clé ssh (id_rsa.pub, etc.) avec $ ls -al ~/.ssh
J'ai eu le même problème. Et je l'ai résolu en modifiant le chemin d'accès de la branche distante de https://github.com/YourName/RepoName
à [email protected]:YourName/RepoName.git
dans les paramètres du référentiel de l'application client.