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 [email protected]"

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

Picardo
quelle

Antworten:

218

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

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

Sathish
quelle
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 "[email protected]", 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

Abram
quelle
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: [email protected]
Password (typing will be hidden):
Authentication successful.
C:\Users\blue\Documents\GitHub> git clone [email protected]: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
Rockstar
quelle
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
Ryan Watts
quelle
1

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

1. ssh-keygen -t rsa -C "[email protected]"
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
przbadu
quelle