Bitte entschuldigen Sie ein wenig Frustration, die ich versuchen werde, in Schach zu halten, da Heroku SO als Kundensupport verwendet (was ich gelinde gesagt für mies halte).
In den letzten fünf Stunden habe ich versucht, eine Anwendung zum Veröffentlichen zu bringen, aber mit den Schlüsseln geht immer etwas schief. Ich habe Dutzende von Artikeln gelesen und Tipp für Tipp versucht, um herauszufinden, wo Heroku in dem dummen, völlig undurchsichtigen Prozess Fehler macht.
Mein Anwendungsfall ist nicht so schwierig: Ich habe ein neues Schlüsselpaar für meine Heroku-Apps erstellt. Ich habe diesen Schlüssel als meinen Schlüssel festgelegt:
> heroku keys
=== [email protected] Keys
ssh-rsa AAAAB3NzaC...avOqfA7ZBd [email protected]
Ich kann mich problemlos anmelden und eine Anwendung "erstellen" (dummer Name, da es sich anscheinend um ein Git-Repo handelt, keine App). Aber jeder * freaking * Zeit versuche ich meine App zu schieben, erhalte ich:
> git push heroku master
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Ich habe keinen Einblick in WTF, das damit weitergeht. Ich stecke nur fest und stoße meinen Kopf ohne Rückgriff gegen eine Tastatur, aber um zu hoffen, dass der allmächtige Gott von Google darauf antworten kann. Und Google antwortet nicht darauf (nun, lassen Sie mich das zurücknehmen, ich habe ungefähr ein Dutzend Möglichkeiten gesehen, dies zu beantworten).
Für ein System, das einfach sein soll, ist dies ein Witz. Ich mag die Idee von Heroku, aber nachdem ich fünf genommen habe, um absolut nichts zu erledigen, denke ich, dass es vielleicht die falsche Wahl ist.
Antworten:
Im Internet gibt es eine Vielzahl von Lösungen. Ich werde versuchen, die verfügbaren Optionen in einem Beitrag zusammenzufassen. Bitte versuchen Sie Ihre Verbindung nach jedem Schritt erneut.
Schritt 1: Versuchen Sie, Ihren öffentlichen Schlüssel zu Heroku hinzuzufügen
Schritt 2: Generieren Sie einen neuen Satz SSH-Schlüssel und wiederholen Sie den ersten Schritt
https://help.github.com/articles/generating-ssh-keys
Schritt 3: Überprüfen und / oder ändern Sie Ihre Konfigurationsdatei
Schritt 4: Entfernen Sie die Heroku-Fernbedienung aus Git. Das Wiederherstellen der Verbindung und das Hinzufügen der Fernbedienung über Heroku Create ist nur eine Option für neue Repositorys. Stellen Sie sicher, dass Sie Ihr altes Repo löschen, das Sie ursprünglich erstellt haben
Schritt 5: Installieren Sie das Heroku Toolkit neu
quelle
heroku create
?git heroku create
ist keine Sache, soweit ich weiß.Ihr Heroku-Schlüssel und Ihr Github-Schlüssel sind nicht synchron.
Bestimmen Sie, welchen Schlüssel Sie verwenden möchten (empfehlen Sie, einen neuen zu erstellen, z. B. heroku_rsa).
Fügen Sie den Schlüssel zu Github hinzu.
Fügen Sie Heroku den gleichen Schlüssel hinzu, indem Sie:
heroku keys:add
quelle
Ich bin auf dasselbe Problem gestoßen, und dies ist meine Theorie darüber, was los ist:
Ich habe mich vor langer Zeit für Heroku angemeldet und ihnen meinen öffentlichen Github-Schlüssel gegeben. Beim Versuch des Üblichen
git push heroku master
geht es und sucht nach meinem privaten Schlüssel, gefunden bei~/.ssh/github_rsa
. Es schlägt dann stillschweigend mit der von Ihnen geposteten Nachricht fehl.Ich habe jedoch später versucht,
ssh
mithilfe des-i
Flags auf einen anderen Server zuzugreifen, um meine "Identitätsdatei" (dh den privaten Schlüssel) anzugeben, und wurde aufgefordert, das Kennwort für meinen privaten Schlüssel einzugeben. Nachdem der private Schlüssel "entsperrt" wurde,git push heroku master
funktioniert der Befehl. Einige Schlussfolgerungen:ssh
Sie zur Eingabe des Kennworts für eine Identitätsdatei aufgefordert werden,git
wird dies nicht der Fall sein .ssh
entsperren, bleibt sie für Ihregit
Verwendung entsperrt .keytool
.quelle
Berechtigung verweigert (publickey) beim Bereitstellen von Heroku-Code. tödlich: Das entfernte Ende legte unerwartet auf
Ich denke, das könnte Ihre Lösung sein, zumindest für mich
quelle
Bei mir schien das Problem zu sein, dass im Hintergrund ssh-agent ausgeführt wurde und der entsprechende private Schlüssel nicht hinzugefügt wurde.
Ich musste auch den öffentlichen Schlüssel zu Github (manuell) und Heroku hinzufügen
quelle
Wenn keine der anderen Lösungen für Sie funktioniert, stellen Sie sicher, dass Sie mit Ihrem Konto und nicht mit dem Root- Konto in der Linux-Shell angemeldet sind .
Auf diese Weise sucht git nach den falschen Schlüsseln zur Authentifizierung, wenn Sie mit dem Benutzer arbeiten, der nicht der Eigentümer Ihrer SSH-Schlüssel ist
quelle