J'ai un projet hébergé sur GitHub. J'échoue en essayant 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, définir ma clé ssh sur github semble correct. En effet, quand je fais un ssh -T [email protected]
get I
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é (eurydyce étant mon nom d'utilisateur github). J'ai strictement suivi les instructions données sur github et les recommandations de nombreuses discussions sur la pile mais pas du tout. Auriez-vous une idée de ce que j'ai pu faire de mal?
Réponses:
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 tout simplement[email protected]:eurydyce/MDANSE.git
L' OP Pellegrini Eric ajoute:
Cela ne devrait pas être dans votre configuration globale (celle dans
~/
).Vous pouvez vérifier
git config -l
dans votre repo: cette URL doit être déclarée dans la locale config:<yourrepo>/.git/config
.Assurez-vous donc que vous êtes dans le chemin du dépôt lorsque vous exécutez la
git remote set-url
commande.Comme indiqué dans la réponse d' Oliver , une URL HTTPS n'utilisera pas de nom d'utilisateur / mot de passe si l' authentification à deux facteurs (2FA) est activée.
Dans ce cas, le mot de passe doit être un PAT (jeton d'accès personnel) comme indiqué dans « Utilisation d'un jeton sur la ligne de commande ».
Cela ne s'applique qu'aux URL HTTPS, SSH n'est pas affecté par cette limitation.
la source
~/.ssh/config
ou%USERPROFILE%\.ssh\config
, avec unegithub.com
entrée dedans.Après avoir activé l' authentification à deux facteurs (2FA), vous pouvez voir quelque chose comme ceci lors d'une tentative d'utilisation
git clone
,git fetch
,git pull
ougit push
:Pourquoi cela se produit
Dans la documentation d'aide de GitHub :
Comment le réparer
Question connexe: https://stackoverflow.com/a/21374369/101662
la source
Étapes de la solution:
la source
Pour les utilisateurs Mac uniquement. Vous devez supprimer vos entrées d'accès au trousseau OSX pour GitHub. Vous pouvez le faire via un terminal en exécutant les commandes suivantes.
Suppression de vos informations d'identification via la ligne de commande
Via la ligne de commande, vous pouvez utiliser l'assistant d'informations d'identification directement pour effacer l'entrée du trousseau.
Pour ce faire, tapez la commande suivante:
S'il réussit, rien ne s'imprimera. Pour tester son fonctionnement, essayez de cloner un référentiel depuis GitHub ou exécutez à nouveau 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.la source
host=bitbucket.org
au lieu de GitHub l'a corrigé pour moi.Lorsque vous utilisez l'
https://
URL pour vous connecter à votre référentiel distant, Git n'utilisera pas SSH comme authentification mais tentera à la place une authentification de base sur HTTPS. Habituellement, vous utiliseriez simplement l'URL sans nom d'utilisateur, par exemplehttps://github.com/username/repository.git
, et Git vous inviterait alors à entrer à la fois 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érégler le nom d' utilisateur Git utilisera pour l' authentification:something
. Depuis que vous l'avez utiliséhttps://[email protected]
, Git essaiera de se connecter en utilisant legit
nom d'utilisateur pour lequel votre mot de passe ne fonctionne bien sûr pas. Vous devrez donc utiliser votre nom d'utilisateur à la place.L'alternative est en fait d'utiliser SSH pour l'authentification. De cette façon, vous éviterez d'avoir à 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 changer votre URL distante, donc Git sait qu'il doit se connecter via SSH. Le format est alors la suivante:
[email protected]:username/repository
. Pour mettre à jour votre URL, utilisez cette commande:la source
warning: remote.origin.url has multiple values
. Cela peut être dû au fait que j'ai déjà une balise distante dans mon fichier ~ / .gitconfig qui contient la valeur[remote "origin"] [email protected]:eurydyce/MDANSE.git
.essayez simplement de le pousser à nouveau dans votre succursale. 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.
la source
git push
demandé la mise à jour appropriée, comme l'indique cette réponse.git push origin master
...Au lieu d'
git pull
essayer égalementgit pull origin master
J'ai changé de mot de passe et la première commande a donné une erreur:
Après
git pull origin master
, il a demandé un mot de passe et a semblé se mettre à jourla source
Pas besoin de compter sur la génération d'un jeton d'accès personnel , puis sur la tentative et l'utilisation du jeton d'accès personnel à la place de votre mot de passe.
La solution rapide consiste à définir votre URL distante pour qu'elle
ssh
ne pointe pashttps
.Faites ceci
git remote set-url origin [email protected]:username/repository
la source
J'obtiens ceci lors du clonage de l'application de bitbucket:
Je l'ai résolu. Ici, vous devez créer un mot de passe pour votre ID utilisateur
Cliquez sur votre profil et vos paramètres
Ensuite, créez le mot de passe de l'application choisissez votre nom, le mot de passe sera généré, collez ce mot de passe dans le terminal
la source
La désactivation de l'authentification à 2 facteurs sur github a fonctionné pour moi.
Je vois qu'il y a une réponse supprimée qui dit cela, avec la raison de la suppression comme "ne répond pas à la question". Si cela fonctionne, je pense que cela répond à la question ...
la source
J'ai fait:
Ensuite, il a demandé le [Nom d'utilisateur] et le [Mot de passe] et il semble bien fonctionner maintenant.
la source
Dans le cas où vous obtenez ce message d'erreur dans cette situation:
Regardez ensuite 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.
la source
Vous obtenez peut-être cette erreur car vous avez mis à jour votre mot de passe. Donc, sur Terminal, assurez-vous d'abord d'effacer vos informations d'identification GitHub du trousseau, puis de pousser vos modifications dans votre référentiel, le terminal vous demandera votre nom d'utilisateur et votre mot de passe.
la source
J'ai eu le même problème. Et je l'ai résolu en changeant le chemin 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 cliente.la source
Je rencontre constamment ce problème. Assurez-vous de définir git --config user.name "" et non votre vrai nom, ce que j'ai fait plusieurs fois ..
la source
Puisque vous voulez probablement garder 2FA activé pour votre compte, vous pouvez configurer une clé ssh et de cette façon, vous n'aurez pas besoin de taper vos informations d'identification Github chaque fois que vous souhaitez pousser le travail vers Github.
Vous pouvez trouver toutes les étapes de configuration de ssh dans la documentation . Tout d'abord, assurez-vous que vous n'avez actuellement aucune clé ssh (id_rsa.pub, etc.) avec
$ ls -al ~/.ssh
la source
Cela a fonctionné pour moi, j'ai pu tirer et pousser dans mon référentiel à distance.
la source
Je viens de désactiver l'authentification à deux facteurs et de réessayer. Ça marche pour moi.
la source
Cette solution a fonctionné pour moi:
la source