856 Stimmen

Berechtigung verweigert (publickey) beim Bereitstellen von heroku-Code. fatal: Die Gegenstelle hat sich unerwartet aufgehängt

Ich versuche, meinen Code auf Heroku mit der folgenden Befehlszeile bereitstellen:

git push heroku master

erhalten aber folgende Fehlermeldung:

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

Ich habe meinen öffentlichen SSH-Schlüssel bereits hochgeladen, aber die Fehlermeldung bleibt bestehen.

0voto

ryanbrainard Punkte 5718

Anstatt mit SSH-Schlüsseln zu arbeiten, können Sie auch Herokus neue beta HTTP Git Unterstützung. Es verwendet nur Ihr API-Token und läuft auf Port 443, so dass Sie sich nicht mit SSH-Schlüsseln oder Port 22 herumschlagen müssen.

Um HTTP Git zu verwenden, müssen Sie zunächst sicherstellen, dass Toolbelt aktualisiert ist und dass Ihre Anmeldedaten aktuell sind:

$ heroku update
$ heroku login

(dies ist wichtig, weil Heroku HTTP Git auf eine etwas andere Weise authentifiziert als der Rest von Toolbelt)

Während der Beta-Phase erhalten Sie HTTP, indem Sie die --http-git Flagge an den entsprechenden heroku apps:create , heroku git:clone y heroku git:remote Befehle. Um eine neue Anwendung zu erstellen und sie mit einem HTTP-Git-Remote zu konfigurieren, führen Sie dies aus:

$ heroku apps:create --http-git

Um eine bestehende Anwendung von SSH auf HTTP Git umzustellen, führen Sie einfach diesen Befehl aus dem Verzeichnis der Anwendung auf Ihrem Rechner aus:

$ heroku git:remote --http-git
Git remote heroku updated

Überprüfen Sie die Dev Center-Dokumentation für Einzelheiten zur Einrichtung von HTTP Git für Heroku .

0voto

Adrian Enriquez Punkte 7584

Wenn die anderen Antworten bei Ihnen nicht funktioniert haben. Versuchen Sie dies!

Manchmal muss man einfach nur wieder anschieben. Das ist mir heute aufgrund einer langsamen Internetverbindung passiert (wenn man herunterlädt oder p2p verwendet).

Siehe Screenshot unten:

enter image description here

0voto

HimalayanCoder Punkte 9093

Beim Schieben mit

git push heroku production:master 

Ihr öffentlicher Schlüssel im Heimatverzeichnis ~/.ssh/id_rsa wird verwendet

Um dies zu beheben

Sie sollten sich als ein anderer Benutzer anmelden, vielleicht Root

sudo su 

starten Sie dann neu, indem Sie die folgenden Befehle eingeben

heroku keys:clear //removes existing keys
ssh-keygen -t rsa //generates a new key in ~/.ssh folder (set a password)
heroku keys:add   //uploads the new key, ~/.ssh/id_rsa is uploaded                      
git push heroku production:master

0voto

James Murgolo Punkte 106

Bei mir hat das folgendermaßen funktioniert. Die Heroku-Site wird nicht zu den bekannten Hosts hinzugefügt. Gehen Sie zu window-other- show view-git-git repositories. Klonen Sie von dort aus das Repository. Sobald Sie es geklont haben, löschen Sie das soeben erstellte Repository und importieren Sie es dann über das Dateimenü. Wenn Sie das Repository klonen, wird es nicht zur Explorer-Ansicht hinzugefügt. Jetzt sollten Sie das Git-Repository und die Explorer-Ansicht haben.

0voto

Grigory Kislin Punkte 14348

Die Lösung von dmajkic hilft mir endlich:

Für Windows-Benutzer kann das bedeuten: Der Git-Client konnte die Schlüssel nicht finden. Überprüfen Sie die Schlüssel in c: \Users\UserName.ssh\ und! die Umgebungsvariable HOME=c: \Users\UserName\

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X