web-dev-qa-db-fra.com

GitHub: nom d'utilisateur ou mot de passe invalide

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?

238
Eurydice

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.

165
VonC

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/'

Pourquoi ça se passe

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 ou git 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. 

Comment le réparer

  1. Générez un jeton d'accès personnel . (Guide détaillé sur Création d'un jeton d'accès personnel pour la ligne de commande .)
  2. Copiez le jeton d'accès personnel.
  3. Relancez la commande que vous tentiez et utilisez le jeton d'accès personnel à la place de votre mot de passe.

Question associée: https://stackoverflow.com/a/21374369/101662

614
Oliver

Étapes de la solution:

  1. Panneau de contrôle
  2. Gestionnaire de références
  3. Cliquez sur les informations d'identification de la fenêtre
  4. Dans la section Generic Credential, il y aurait l'URL git, le nom d'utilisateur et le mot de passe de la mise à jour.
  5. Redémarrez Git Bash et essayez le clone.
22
amoljdv06

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
22
poke

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.

Suppression de vos informations d'identification via la ligne de commande

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.

17
Ahmad Awais

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.

7
Shiva Rajkumar

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

3
Paul

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

  1. Cliquez sur Votre profil et vos paramètres Click on Your profile and settings

  2. Ensuite, créez le mot de passe de l’application, choisissez votre nom, le mot de passe qui sera généré, collez ce mot de passe dans le terminal Create app password

2
Thyro Dev

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. 

1
Paras saini

Si vous obtenez ce message d'erreur dans cette situation:

  • en utilisant github pour entreprise
  • en utilisant credential.helper = wincred dans git config
  • en utilisant vos informations d'identification windows que vous avez modifiées récemment

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.

1
BiAiB

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

0
Divyanshu Rawat

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 ...

0
GreenAsJade

É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

0
S. Dwyer

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.

0
Olga Kliushkina