2015-01-07 3 views
59

ich ausgeführt haben:'git push Heroku Master gefragt wird nach wie vor für die Authentifizierung

$ heroku login 

Aber wenn ich zu schieben versuchen, bin ich nach wie vor für die Authentifizierung gefragt:

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

Dann bekomme ich a WARNUNG: Authentifizieren Sie sich nicht mit Benutzername und Passwort mit Git.

Ich lief Heroku Login erneut und authentifiziert erfolgreich, aber ich bekomme immer noch den gleichen Fehler.

ich die Fernbedienung überprüft haben:

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

ich auch einen neuen öffentlichen Schlüssel generiert haben, gab es an Heroku, und es bestätigt: https://devcenter.heroku.com/articles/keys

Ich bin auf Windows 8, mit Git 1.9.5.

+0

Wie sieht Ihre SSH-Konfiguration aus? Haben Sie den Host-Eintrag hinzugefügt? – drRobertz

+1

Ich habe das Problem in der Konfigurationsdatei behoben, wie hier beantwortet: http://stackoverflow.com/questions/16721428/ssh-fingerprint-not-authorized-on-heroku-after-git-restore:/ –

Antwort

163

Ich habe diese um mit der folgenden, indem Sie sich:

Benutzername: blank

Passwort: Heroku Auth-Token

wo die Auth-Token von $ heroku auth:token

abgerufen werden können
+4

und durch leer - du meinst "leer" im Benutzernamen. –

+7

nein ich meine, leer, nichts, blank –

+9

naja, wenn ich "nichts" versuche sagt es ungültigen Eintrag. Als ich "leer" tippte, funktionierte es. Dies ist auf einem Windows-System. –

5

Ich habe genau das gleiche Problem. Der Grund in meinem Fall habe ich versehentlich Fensterkonsole statt Git Bash

+0

Geht zu zeigen, wie es viele Gründe hinter einer Warnung geben könnte. –

+0

Ich sehe nicht, wie dies das Problem verursachen könnte, tatsächlich glaube ich, dass ich windows cmd ... –

+0

Nice! Mit Git Bash funktioniert es. –

1

Dies passiert, weil Git und Heroku nicht die gleiche _netrc Datei verwenden. Dies ist etwas, was ich versuche zu beheben, aber Sie können mir helfen, indem Sie herausfinden, wo Ihre _netrc Datei sein sollte und wo das CLI es setzt.

Folgende Wille Ausgangspotential Quellen, wo die _netrc Datei sein könnte:

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

Sie könnten versuchen, die _netrc Datei in einen von ihnen hinzuzufügen, um das zu finden, das passt. Lassen Sie mich wissen, welche die _netrc Datei hat, und wo Sie es setzen können und git es aufheben, indem Sie nicht nach dem Benutzernamen/Passwort fragen.

Überprüfen Sie auch Ihre .gitconfig, um zu sehen, ob es git Credential-Helfer gibt, die möglicherweise ein Problem verursachen.

28

Ich hatte das gleiche Problem (Git konnte nicht authentifizieren). Es passiert, dass GIT will Auth Daten aus% HOME%/_ NETRC Datei und unter Windows lesen Sie diese Variable nicht haben (nur% USERPROFILE% und% HOMEDRIVE% +% HOMEPATH%)

i HOME% eingestellt USERPROFILE% (der Ort, wo heroku _netrc Datei gespeichert) und GIT begann zu arbeiten

+5

Dies sollte die akzeptierte Antwort sein. – zmb

+0

Woher bekommen Sie '% USERPROFILE%'? Ich habe auch versucht, '% HOME%' auf einen absoluten Pfad zu setzen, aber alles, was ich bekomme, ist eine ungespeicherte '_netrc'-Datei. Funktioniert nicht für mich. – mr5

+0

Ich setze 'HOME = c: \ users \ razor' und es ist ein Ort der _netrc Datei' c: \ users \ razor \ _netrc' Heroku erstellt – razor

0

Was ich getan habe, war git bash öffnen statt Eingabeaufforderung und geben Sie "git push heroku Master". Es funktionierte: D

3

Umbenennen der Datei _netrc zu .netrc auf Windows 7 in der userdir für mich gearbeitet.

..nach versuchen, alle Schritte in vielen anderen Tutorials.

Führen Sie den dritten Befehl cmd in Ihrem userdir oder die ganze Combo:

setx HOME %USERPROFILE% 
cd %HOME% 
REN _netrc .netrc 
7

Vom Heroku documentation

Geben Sie die folgenden Befehle:

# 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/ 
13

Zuerst finden die _netrc-Datei, ist von heroku erstellt. In Windows kann es in C:\Users\User Name\_netrc gefunden werden.

Diese Datei enthält Anmeldeinformationen für git.heroku.com

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

verwenden, die und das Login-Passwort, wenn nach $ git push heroku master Befehl zur Authentifizierung fragen

0

Sie haben wahrscheinlich in heroku in zwei Terminals angemeldet, und wenn Sie versuchen, einen Befehl auf dem ersten Terminal zu laufen, wird es solche Fehler melden, da neue Authentifizierung in dem zweiten Anschluss hergestellt wurde.

Entweder einloggen wieder mit heroku login und Befehle in diesem Terminal ausführen, oder Befehle in diesem zweiten Fenster ausführen (wenn Sie es noch geöffnet haben).

Verwandte Themen