web-dev-qa-db-fra.com

'git Push heroku master' demande toujours l'authentification

J'ai exécuté:

$ heroku login

Mais quand j'essaye de pousser, on me demande toujours l'authentification:

$ git Push heroku master
Username for 'https://git.heroku.com': <email>
Password for 'https://<email>@git.heroku.com':

J'obtiens alors un AVERTISSEMENT: ne vous authentifiez pas avec un nom d'utilisateur et un mot de passe en utilisant Git.

J'ai relancé heroku et je me suis authentifié avec succès, mais le même échec persiste.

J'ai vérifié la télécommande:

$ git remote -v
heroku https://[email protected]/appname.git (fetch)
heroku https://[email protected]/appname.git (Push)

J'ai également généré une nouvelle clé publique, l'ai transmise à Heroku et l'a validée: https://devcenter.heroku.com/articles/keys

Je suis sous Windows 8, avec Git 1.9.5.

69
Rea G

Pardon pour la réponse tardive, mais j'ai résolu mon problème il y a deux mois. (Juste n'ont pas marqué la question comme réponse./Noob)

empreinte SSH non autorisée sur Heroku après la restauration de git

0
Rea G

J'ai contourné cela en me connectant avec ce qui suit:

nom d'utilisateur: blank

mot de passe: jeton heroku auth

où le jeton d'authentification peut être récupéré par $ heroku auth:token

173
andy mccullough

J'ai eu le même problème (git n'a pas pu s'authentifier). Il est arrivé que GIT veuille lire les données d'authentification à partir du fichier% HOME%/_ netrc et que vous ne disposez pas de cette variable sous Windows (uniquement% USERPROFILE% et% HOMEDRIVE% +% HOMEPATH%)

je règle HOME sur% USERPROFILE% (le lieu où heroku enregistre le fichier _netrc) et GIT commence à fonctionner.

28
razor

Tout d'abord trouver le _netrc fichier créé par heroku. Dans Windows, on peut le trouver dans C:\Users\User Name\_netrc.

Ce fichier contient les informations d'identification pour git.heroku.com

machine git.heroku.com
     login [email protected]
     password xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Utilisez cet identifiant et ce mot de passe pour demander l’authentification après $ git Push heroku master commande

17
e11438

De la documentation Herok

Entrez les commandes suivantes:

# Enable SSH authentication
$ heroku create --ssh-git

# Redirect tall HTTPS calls to SSH
$ git config --global url.ssh://[email protected]/.insteadOf https://git.heroku.com/
11
Rebs

Nom d'utilisateur: l'email que vous avez utilisé pour vous inscrire à Heroku
Password: la clé API fournie par Heroku dans les paramètres de votre compte sur le site Web Heroku

Cela a fonctionné pour moi

8
Sarah

J ai exactement le même problème. La raison dans mon cas, j’ai utilisé accidentellement une console de fenêtre à la place de Git bash

6
jlcj

Renommer le _netrc fichier à .netrc sur Windows 7 dans le répertoire utilisateur a fonctionné pour moi.

..après avoir essayé toutes les étapes de nombreux autres tutoriels.

Exécutez la 3ème commande dans cmd dans votre userdir ou le combo complet:

setx HOME %USERPROFILE%
cd %HOME%
REN _netrc .netrc
4
Qwerty

Cela se produit parce que git et heroku n'utilisent pas le même _netrc fichier. C’est quelque chose que j’essaie de réparer, mais vous pouvez m'aider en trouvant où votre _netrc fichier devrait être et où le CLI le met.

Ce qui suit va sortir des sources potentielles d'où le _netrc fichier pourrait être:

> echo %HOME%
> echo %HOMEDRIVE%%HOMEPATH%
> echo %USERPROFILE%

Vous pouvez essayer d'ajouter le _netrc filez dans l’un d’eux pour trouver celui qui correspond. Faites-moi savoir qui a le _netrc fichier, et où vous pouvez le mettre et que git le récupère en ne vous demandant pas le nom d’utilisateur/mot de passe.

Vérifiez également votre .gitconfig pour voir s’il existe des aides pour les informations d’identification Git, qui peuvent être à l’origine d’un problème.

1
Jeff Dickey

Ce sujet est vieux, je sais.

Cependant, aucune des solutions précédentes n'a fonctionné pour moi.

Mon problème était que "Les informations d'identification Windows" (os: Windows 10) avaient un autre identifiant précédemment associé à Heroku (compte d'entreprise) et l'utilisaient à la place du nouveau un (mon compte personnel).

Je devais aller à: "Panneau de configuration\Tous les éléments du panneau de configuration\Gestionnaire d'informations d'identification" (à partir du Panneau de configuration) et modifier toutes les informations d'identification: - https://git.heroku.com (et tous ceux associés à "heroku" Word) avec le compte actuel.

Cependant, le mot de passe pour lequel j'ai placé l'API de clé qui s'affiche dans le "Tableau de bord" du site et la commande fonctionne: git Push heroku master .

7 heures que la vie ne me rendra pas. : /

Mes 2 centimes.

1
1antares1

Si quelqu'un a encore du mal à résoudre ce problème, cette réponse m'a beaucoup aidé tiliser la clé API Herok .

Tout d'abord, comme @ Raziza O mentionné dans un commentaire, pour obtenir la clé API heroku

https://dashboard.heroku.com/account . Descendez l'écran et appuyez sur le bouton de révélation.

Ensuite, lancez git Push https://heroku:[email protected]/$HEROKU_APP_NAME.git HEAD:master

1
Mohamed Rozza

Si quelqu'un d'autre tente de résoudre ce problème sur cygwin: http://www.railszilla.com/git-Push-heroku-master-authentication/start la réécriture sur SSH transport a fait l'affaire:

git config --global url.ssh://[email protected]/.insteadOf https://git.heroku.com/
0
Martin

J'ai corrigé cela en changeant l'adresse http en ssh://git@heroku/...

0
matsko

J'ai eu le même problème sur Windows et je l'ai trié en utilisant simplement le fichier PSW disponible sur le fichier _netrc. Il se trouve dans C:\Utilisateurs\Nom d'utilisateur_netrc.

J'espère que ça peut aider.

0

Ce que j'ai fait était d'ouvrir git bash au lieu de l'invite de commande et de taper "git Push heroku master". Cela a fonctionné: D

0
Khanh Nguyen

Vous vous êtes probablement connecté à heroku dans deux terminaux et si vous essayez d'exécuter une commande sur le premier terminal, cette erreur sera signalée, car une nouvelle authentification a été effectuée dans le deuxième terminal.

Soit vous vous connectez encore avec heroku login et exécutez des commandes dans ce terminal, ou exécutez des commandes dans cette seconde fenêtre (si celle-ci est toujours ouverte).

0
Aleks