'git push heroku master' fragt immer noch nach Authentifizierung

79

Ich habe ausgeführt:

$ heroku login

Aber wenn ich versuche zu pushen, werde ich immer noch nach Authentifizierung gefragt:

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

Dann bekomme ich eine WARNUNG: Authentifiziere dich nicht mit Benutzername und Passwort mit Git.

Ich habe Heroku Login erneut ausgeführt und mich erfolgreich authentifiziert, aber ich erhalte immer noch den gleichen Fehler.

Ich habe die Fernbedienung überprüft:

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

Ich habe auch einen neuen öffentlichen Schlüssel generiert, ihn an Heroku übergeben und validiert: https://devcenter.heroku.com/articles/keys

Ich bin unter Windows 8 mit Git 1.9.5.

Rea G.
quelle
Wie sieht deine SSH-Konfiguration aus? Haben Sie den Hosteintrag hinzugefügt?
drRobertz
1
Ich habe das Problem in der Konfigurationsdatei behoben, wie hier beantwortet: stackoverflow.com/questions/16721428/… : /
Rea G
Vielleicht kann mein Kommentar nur wenigen Menschen helfen, aber ich habe festgestellt, dass dieser Fehler auch auftritt, wenn Ihr Kontoname (Windows-Konto) aus Nicht-ASCII besteht. Ich hoffe, dass dieser Kommentar jemandem helfen kann!
James

Antworten:

186

Ich habe dies umgangen, indem ich mich wie folgt angemeldet habe:

Benutzername: E-Mail-Adresse für die Registrierung bei Heroku (Auch dieses Feld konnte leer gelassen werden )

Passwort: Heroku Auth Token ( API-Schlüssel )

Hier kann das Authentifizierungstoken von $ heroku auth:tokenoder über die Kontoeinstellungen in Heroku abgerufen werden

andy mccullough
quelle
7
und mit leer - Sie meinen tatsächlich "leer" im Benutzernamen.
Jody Fitzpatrick
14
Nun, wenn ich "nichts" versuche, heißt es ungültiger Eintrag. Als ich "leer" eingab, funktionierte es. Dies ist auf einem Windows-System.
Jody Fitzpatrick
@NunoFurtado, jedoch habe ich mein Problem mit der Antwort hier beantwortet: stackoverflow.com/questions/16721428/…
Rea G
4
Hat für mich gearbeitet! Sie können den Auth-Schlüssel auch in dashboard.heroku.com/account -> API Key
dmikam
8
Obwohl dies für mich absolut keinen Sinn ergab, funktionierte es tatsächlich. Magie.
Lebensräume
29

Ich hatte das gleiche Problem (Git konnte sich nicht authentifizieren). Es ist passiert, dass GIT Authentifizierungsdaten aus der Datei% HOME% / _ netrc lesen möchte und unter Windows diese Variable nicht vorhanden ist (nur% USERPROFILE% und% HOMEDRIVE% +% HOMEPATH%).

Ich habe HOME auf% USERPROFILE% gesetzt (der Ort, an dem Heroku die _netrc-Datei gespeichert hat) und GIT hat angefangen zu arbeiten

Rasierer
quelle
Woher bekommst du %USERPROFILE%? Ich habe auch versucht, %HOME%einen absoluten Pfad festzulegen, aber alles, was ich bekomme, ist eine nicht verfolgte _netrcDatei. Funktioniert bei mir nicht
Mr5
Ich setze HOME=c:\users\razorund es ist ein Ort der _netrc-Datei, die c:\users\razor\_netrcHeroku erstellt hat
Rasiermesser
18

Suchen Sie zuerst die _netrcvon heroku erstellte Datei. In Windows kann es in gefunden werdenC:\Users\User Name\_netrc .

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

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

Verwenden Sie dieses Login und Passwort, wenn Sie nach dem $ git push heroku masterBefehl nach einer Authentifizierung fragen

e11438
quelle
Nett! Vielen Dank!
Nikita
Klappt wunderbar.
Skidadon
14

Aus der Heroku-Dokumentation

Geben Sie die folgenden Befehle ein:

# 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/
Rebs
quelle
12

Benutzername: Die E-Mail-Adresse, mit der Sie sich bei Heroku registriert haben
Passwort: Der API-Schlüssel, den Heroku Ihnen in Ihren Kontoeinstellungen auf der Heroku-Website zur Verfügung stellt

Das hat bei mir funktioniert

Sarah
quelle
1
hier https://dashboard.heroku.com/account . Rollen Sie den Bildschirm herunter und drücken Sie die Enthüllungstaste. Danke @ Sarah
Raziza O
8

Ich habe genau das gleiche Problem. Der Grund in meinem Fall war, dass ich versehentlich eine Fensterkonsole anstelle von Git Bash verwendet habe

jlcj
quelle
Zeigt, wie viele Gründe hinter einer Warnung stehen können.
Rea G
Ich sehe nicht, wie dies das Problem verursachen könnte, eigentlich denke ich, ich habe Windows Cmd verwendet ...
Andy McCullough
ffs, solltest du die Git-Bash verwenden?
Radu
Ich erhalte einen weiteren Fehler, nachdem ich Git Bash verwendet habe. Vielleicht bleibe ich beicmd
mr5
Sie sollten in der Lage sein, entweder zu verwenden. Oder beides. Es hängt nur davon ab, ob Sie Ihren Kontext mit den richtigen Heroku-Anmeldeinformationen eingerichtet haben oder nicht.
dvlsg
5

Das Umbenennen der _netrcDatei in .netrcWindows 7 im Benutzerverzeichnis hat bei mir funktioniert.

..nach dem Ausprobieren aller Schritte in vielen anderen Tutorials.

Führen Sie den 3. Befehl in cmd in Ihrem Benutzerverzeichnis oder in der gesamten Kombination aus:

setx HOME %USERPROFILE%
cd %HOME%
REN _netrc .netrc
Qwerty
quelle
In meinem Fall habe ich mich über eine Windows-Cmd-Eingabeaufforderung angemeldet und wollte die Anmeldeinformationen in Cygwin verwenden. Das Umbenennen der Datei .netrcin meinem Home-Ordner hat Git dazu gebracht, sie zu erkennen
Sonata
3

Wenn jemand immer noch damit zu kämpfen hat, hat mir diese Antwort sehr geholfen, den Heroku-API-Schlüssel zu verwenden .

Zunächst, wie @Raziza O in einem Kommentar erwähnt, um den Heroku-API-Schlüssel zu erhalten

https://dashboard.heroku.com/account . Rollen Sie den Bildschirm herunter und drücken Sie die Enthüllungstaste.

Dann renn einfach git push https://heroku:[email protected]/$HEROKU_APP_NAME.git HEAD:master

Mohamed Rozza
quelle
1

Dies geschieht, weil Git und Heroku nicht dieselbe _netrcDatei verwenden. Dies ist etwas, das ich zu beheben versuche, aber Sie können mir helfen, indem Sie herausfinden, wo Ihre_netrc Datei befinden sollte und wo die CLI sie ablegt.

Im Folgenden werden potenzielle Quellen für den _netrcSpeicherort der Datei ausgegeben :

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

Sie können versuchen, die _netrcDatei zu einer von ihnen hinzuzufügen, um die passende zu finden. Lassen Sie mich wissen, welche hat_netrc Datei sich befindet und wo Sie sie ablegen können, und lassen Sie sie von git abholen, indem Sie nicht nach dem Benutzernamen / Passwort gefragt werden.

Überprüfen Sie auch .gitconfig, ob es Helfer für Git-Anmeldeinformationen gibt, die möglicherweise ein Problem verursachen.

Jeff Dickey
quelle
1

Dieses Thema ist alt, ich weiß.

Keine der vorherigen Lösungen hat jedoch für mich funktioniert.

Mein Problem war, dass "Windows-Anmeldeinformationen" (Betriebssystem: Windows 10) einen anderen Berechtigungsnachweis hatten, der zuvor mit Heroku (Firmenkonto) verknüpft war, und diesen anstelle des neuen (mein persönliches Konto) verwendete.

Ich musste zu "Systemsteuerung \ Alle Elemente der Systemsteuerung \ Anmeldeinformations-Manager" (in der Systemsteuerung) gehen und alle Anmeldeinformationen ändern: https://git.heroku.com (und alle mit dem Wort "Heroku" verbundenen). mit dem aktuellen Konto.

Das Passwort Ich habe jedoch die Schlüssel-API platziert, die im "Dashboard" der Site angezeigt wird, und der Befehl funktioniert: git push heroku master.

7 Stunden, die das Leben mir nicht zurückgeben wird. : /

Meine 2 Cent.

1antares1
quelle
0

Ich habe git bash anstelle der Eingabeaufforderung geöffnet und "git push heroku master" eingegeben. Es hat funktioniert: D.

Khanh Nguyen
quelle
0

Ich habe dies behoben, indem ich die http-Adresse in geändert habe ssh://git@heroku/...

Matsko
quelle
0

Sie haben sich wahrscheinlich herokuan zwei Terminals angemeldet. Wenn Sie versuchen, einen Befehl auf dem ersten Terminal auszuführen, wird ein solcher Fehler gemeldet, da im zweiten Terminal eine neue Authentifizierung durchgeführt wurde.

Melden Sie sich entweder erneut mit heroku logindiesem Terminal an und führen Sie Befehle in diesem Terminal aus, oder führen Sie Befehle in diesem zweiten Fenster aus (falls es noch geöffnet ist).

Aleks
quelle
0

Ich hatte das gleiche Problem unter Windows und habe es nur mit dem PSW sortiert, das in der Datei on _netrc verfügbar ist. Es befindet sich in C: \ Users \ User Name_netrc.

Ich hoffe es kann helfen.

Jose Carlos Siqueira
quelle
0

Schreiben $heroku login
Sie einfach: Sie gelangen zum Web-Login. Geben Sie dort Ihre Anmeldeinformationen ein und Sie werden auch über die CLI angemeldet.

Shivesh Kumar
quelle
0

Um einen langfristigen Heroku-Token zu generieren, verwenden Sie:

heroku authorizations:create

Beispielausgabe:

Creating OAuth Authorization... done
Client:      <none>
ID:          XXXXXXXX-XXXX-4c9c-85f2-554f0f0c14fa
Description: Long-lived user authorization
Scope:       global
Token:       XXXXXXXX-XXXX-4ad5-ac64-44bbc01c2d95
Updated at:  Wed Mar 04 2020 12:00:00 GMT+0000 (Greenwich Mean Time) (less than a minute ago)

Verwenden Sie dann die folgenden Informationen für git:

username: blank (type the word blank)
pass: XXXXXXXX-XXXX-4ad5-ac64-44bbc01c2d95
Pedro Lobito
quelle
0

Es war möglich, sich mit dem Heroku-API-Schlüssel (Kontoeinstellungen -> API-Schlüssel) anzumelden, wie bereits erwähnt @andy mccullough. Die Anmeldung war jedoch jedes Mal erforderlich.

git fetch

Das Problem wurde in meinem Fall behoben .

Nazar
quelle