Veuillez excuser un peu de frustration, que je vais essayer de garder sous contrôle puisque Heroku utilise SO comme support client (ce que je pense que c'est de mauvaise qualité pour dire le moins).
Depuis cinq heures, j'essaye de faire publier une application, mais il y a toujours un problème avec les clés. J'ai lu des dizaines d'articles et essayé pointe après pointe dans le but de comprendre où, dans le processus stupide et complètement opaque, Heroku se trompe.
Mon cas d'utilisation n'est pas si difficile: j'ai créé une nouvelle paire de clés pour mes applications heroku. J'ai défini cette clé comme ma clé:
> heroku keys
=== [email protected] Keys
ssh-rsa AAAAB3NzaC...avOqfA7ZBd [email protected]
Je peux me connecter et "créer" une application (nom stupide, car il semble créer un dépôt git, pas n'importe quelle sorte d'application) sans problème. Mais tous les * paniquer * le temps que j'essaie de pousser mon application, je reçois:
> git push heroku master
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Je n'ai aucune idée de ce que WTF continue à faire; Je suis juste coincé à me cogner la tête contre un clavier sans recours, mais pour espérer que le dieu tout-puissant de Google pourra y répondre. Et google n'y répond pas (enfin, laissez-moi reprendre cela, j'ai vu une douzaine de façons de répondre à cela).
Pour un système censé être simple, c'est une blague. J'aime l'idée d'Heroku, mais après avoir pris cinq heures pour ne rien faire, je pense que c'est peut-être le mauvais choix.
Réponses:
Il existe une variété de solutions sur le Web. Je vais essayer de condenser les options disponibles en un seul article. Veuillez réessayer votre connexion après chaque étape.
Étape 1: essayez d'ajouter votre clé publique à Heroku
Étape 2: Générez un nouvel ensemble de clés SSH, puis recommencez la première étape
https://help.github.com/articles/generating-ssh-keys
Étape 3: Vérifiez et / ou modifiez votre fichier de configuration
Étape 4: Supprimez la télécommande heroku de git, recréez la connexion, l'ajout de la télécommande via heroku create ne sera une option que pour les nouveaux dépôts. Assurez-vous de supprimer votre ancien dépôt que vous avez initialement tenté de créer
Étape 5: Réinstallez Heroku Toolkit
la source
heroku create
?git heroku create
ce n'est pas une chose, pour autant que je sache.Votre clé heroku et vos clés github ne sont pas synchronisées.
Déterminez la clé que vous souhaitez utiliser (recommandez d'en créer une nouvelle, par exemple heroku_rsa).
Ajoutez la clé à github.
Ajoutez la même clé à heroku en utilisant:
heroku keys:add
la source
J'ai rencontré le même problème, et voici ma théorie sur ce qui se passe:
Je me suis inscrit à Heroku il y a longtemps, en leur donnant ma clé publique github. Lors de la tentative habituelle
git push heroku master
, il va chercher ma clé privée, trouvée à~/.ssh/github_rsa
. Il échoue ensuite silencieusement avec le message que vous avez publié.Cependant, j'ai essayé plus tard d'
ssh
accéder à un autre serveur en utilisant le-i
drapeau pour spécifier mon "fichier d'identité" (c'est-à-dire la clé privée), et il m'a demandé le mot de passe de ma clé privée. Après avoir "déverrouillé" la clé privée, lagit push heroku master
commande fonctionne. Quelques conclusions:ssh
vous demandera le mot de passe pour un fichier d'identité,git
ne le sera pas.ssh
, il restera déverrouillé pour votregit
utilisation.keytool
.la source
Autorisation refusée (publickey) lors du déploiement du code heroku. fatal: l'extrémité distante a raccroché de manière inattendue
Je pense que cela pourrait avoir ta solution, ça l'a fait pour moi au moins
la source
Avec moi, il semblait que le problème était que ssh-agent s'exécutait en arrière-plan et que la clé privée correspondante n'y avait pas été ajoutée.
J'ai également dû ajouter la clé publique à github (manuellement) et heroku
la source
Si aucune des autres solutions ne fonctionne pour vous, assurez-vous que vous êtes connecté au shell Linux avec votre compte et non avec un compte root .
De cette façon, si vous exécutez avec l'utilisateur qui n'est pas le propriétaire de vos clés ssh, git recherchera les mauvaises clés pour s'authentifier
la source