Heroku-Fehler: "Berechtigung verweigert (öffentlicher Schlüssel)"


94

Ich bekomme immer wieder diesen Fehler. Ich benutze einen Mac. Ich habe einen Schlüssel generiert und ihn mit Heroku hinzugefügt

heroku config:add key="ssh-rsa blahblah=me@me.com"

Das funktioniert aber nicht. Ich bekomme immer den gleichen Fehler. Was kann ich dagegen tun, ohne ssh-keygen neu zu installieren?

Antworten:


218

Versuchen Sie es heroku keys:add <path-to-your-public-key>.

Beispielsweise, heroku keys:add ~/.ssh/id_rsa.pub


2
Auf meinem Hackintosh, während Github für Mac installiert ist, befindet sich die beabsichtigte Datei in diesem Pfad: ~ / .ssh / github_rsa.pub
Jahan

2
Versuchen Sie auch ssh-keygen -t rsa -C "your_email@youremail.com", wenn immer noch der Fehler auftritt, eine andere Datei.pub zu erstellen und diese im empfohlenen Befehl in dieser Antwort zu verwenden
Tom Roggero

19

Die obige Lösung hat bei mir nicht funktioniert, da in meinem Ordner ~ / .ssh keine Schlüssel generiert wurden.

Meine Lösung bestand darin, einfach zu tippen heroku keys:add

Die Ausgabe im Terminal war:

Could not find an existing public key.
Would you like to generate one? [Yn] y
Generating new SSH public key.
Uploading SSH public key /home/funkdified/.ssh/id_rsa.pub... done

Siehe: https://devcenter.heroku.com/articles/keys


4

Ich stand vor dem gleichen Problem. Ich schreibe meine Erfahrung so, dass sie jemand anderem hilft.

Ich habe versucht, den Anweisungen auf der offiziellen Website zu folgen. Erste Schritte mit Ihrer Facebook-App auf Heroku

Obwohl es vor allem das Video ziemlich abscheulich ist, ist es ziemlich ärgerlich zu bemerken, dass sie nicht erwähnen, dass SSH-Schlüssel eingerichtet werden müssen. Entweder ist es standardmäßig eingestellt (ich weiß nicht) oder Sie erhalten den vom Fragenplakat erwähnten Fehler.

Also habe ich folgendes gemacht:

1. öffnete die Git-Shell

2. tippte folgendes ein

C:\Users\blue\Documents\GitHub> heroku keys:add
Found the following SSH public keys:
1) github_rsa.pub
2) id_rsa.pub
Which would you like to use with your Heroku account? 2

3 . Anschließend konnte ich mein Repository überprüfen

C:\Users\blue\Documents\GitHub> heroku login
Enter your Heroku credentials.
Email: sxxxxt.xxxx@gmail.com
Password (typing will be hidden):
Authentication successful.
C:\Users\blue\Documents\GitHub> git clone git@heroku.com:sxxxd-plains-8530.gi
t
Cloning into 'sxxxd-plains-8530'...
Warning: Permanently added 'heroku.com,50.19.85.154' (RSA) to the list of known
hosts.
remote: Counting objects: 180, done.
remote: Compressing objects: 100% (112/112), done.
remote: Total 180 (delta 82), reused 132 (delta 62)
Receiving objects:  81% (146/180), 76.00 KiB | 62 KiB/s
Receiving objects: 100% (180/180), 137.91 KiB | 62 KiB/s, done.
Resolving deltas: 100% (82/82), done.
C:\Users\blue\Documents\GitHub>

Bitte stimmen Sie meine Antwort nicht ab. Obwohl ich dem, was bereits gepostet wurde, keinen neuen Wert hinzufüge, hoffe ich, dass meine Erfahrungen jemandem helfen werden, der neu in der Verwendung von git & heruko ist. Daher habe ich Screenshots hinzugefügt.

  • Meine 2 Cent

Ihre Lösung funktioniert in Git Bash, aber ich weiß nicht, warum die gleichen Schritte in Windows cmd nicht konsistent funktionieren?
Cyber101

2

Kopieren Sie die Dateien in Ihren .ssh-Pfad, z.

/c/Users/<yourusername>/.ssh/<files>

in den git .ssh Ordner.

/c/Program Files/Git/.ssh/<paste files here>

Wenn der .ssh-Ordner nicht im Git-Verzeichnis vorhanden ist, erstellen Sie ihn einfach und fügen Sie Ihre Dateien ein.

Aus irgendeinem Grund erfordert Windows, dass sich ein .ssh-Pfad sowohl im Benutzerverzeichnis als auch im Git-Verzeichnis befindet. Standardmäßig wird dies nicht hinzugefügt, sodass Sie es einfach selbst erstellen müssen.

Führen Sie nach dem Hinzufügen der Dateien zum Git-Verzeichnis einfach den folgenden Befehl erneut aus:

git push heroku master


1

Wenn Sie noch keinen SSH-Schlüssel haben, versuchen Sie, ihn mit dem folgenden Befehl zu generieren:

1. ssh-keygen -t rsa -C "your_email@example.com"
2. ssh-add

Um die verweigerte Heroku-Berechtigung (öffentlicher Schlüssel) loszuwerden, fügen Sie Ihre Schlüssel zu Heroku hinzu, indem Sie:

3. heroku keys:add <path_to_your_ssh>
    OR
 heroku keys:add

Um die verweigerte Github-Berechtigung (öffentlicher Schlüssel) zu entfernen, fügen Sie Ihre Schlüssel zu Github hinzu, indem Sie:

4. ssh-add <path_to_your_ssh> 
     OR
  ssh-add
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.