85 votes

git push heroku maître Permission denied (publickey). fatal : l’extrémité distante accroché de façon inattendue

S'il vous plaît excusez un peu de frustration, que je vais essayer de tenir en échec depuis Heroku est à l'aide de SORTE que leur soutien à la clientèle (dont je pense qu'il pacotille pour dire le moins).

Pour les cinq dernières heures, j'ai essayé d'obtenir une application pour publier, mais toujours quelque chose va mal avec les touches. J'ai lu des dizaines d'articles et essayé conseil après conseil, dans un effort pour comprendre d'où, dans le stupide, complètement opaque processus Heroku est vissage.

Mon cas d'utilisation n'est pas difficile: j'ai créé une nouvelle paire de clés pour mon heroku apps. J'ai mis cette clé de ma clé:

  > heroku keys
  === travis@xxxx.com Keys
  ssh-rsa AAAAB3NzaC...avOqfA7ZBd travis@xxxx.com

Je peux me connecter et de "créer" une application (nom stupide, puisqu'il semble être la création d'un repo git, pas n'importe quel type d'application) sans problème. Mais tous les *capote* temps j'essaie de faire de mon application, j'obtiens:

  > git push heroku master
  Permission denied (publickey).
  fatal: The remote end hung up unexpectedly

Je n'ai pas aperçu de WTF qui se passe avec elle; je suis juste coincé à se taper la tête contre un clavier sans recours qu'à espérer que le dieu tout-puissant de Google la réponse. Et google n'est pas de répondre (bien, permettez-moi de prendre ce retour, j'ai vu une douzaine de façons de répondre à cette).

Pour un système qui est censé être facile, c'est une blague. J'aime l'idée de Heroku, mais après avoir pris cinq de nos pour obtenir absolument rien fait, je pense peut-être que c'est le mauvais choix.

149voto

jquintana Points 1229

Il existe une variété de solutions à travers le web. Je vais essayer de condenser les options disponibles dans un seul post. S'il vous plaît essayer à nouveau votre connexion après chaque étape.

  • Étape 1: Essayez d'ajouter votre clé publique à Heroku

    heroku keys:add ~/.ssh/id_rsa.pub // or just heroku keys:add and it will prompt you to pick one of your keys
    
  • Etape 2: Générer un nouvel ensemble de clés SSH, puis tenter de la première étape

    https://help.github.com/articles/generating-ssh-keys

  • Étape 3: Vérifier et/ou modifier votre fichier de configuration

    vim ~/.ssh/config
    
    Host heroku.com
    Hostname heroku.com 
    Port 22 
    IdentitiesOnly yes 
    IdentityFile ~/.ssh/id_rsa    <--- Should be your public SSH key
    TCPKeepAlive yes 
    User jsmith@gmail.com
    
  • Étape 4: Supprimer le heroku à distance à partir de git, le recréer la connexion, l'ajout de la distance par heroku créer ne sera une option pour de nouveaux référentiels. Assurez-vous supprimer votre ancien pensions que vous avez tenté de créer

     $ git remote rm heroku
     $ heroku create
    
  • Étape 5: Réinstaller Heroku Toolkit

13voto

rob Points 3452

Votre clé heroku et github clés ne sont pas synchronisés.

  • Déterminer quelle touche que vous souhaitez utiliser (vous recommandons de créer un nouveau c’est à dire heroku_rsa).
  • Ajouter la clé de github.
  • Ajouter la même clé à l’aide d’heroku :``

2voto

owensmartin Points 95

J'ai rencontré le même problème, et c'est ma théorie à ce qu'il se passe:

J'ai signé pour Heroku, il y a longtemps, leur donnant mon github clé publique. Lors de la tentative de l'habituel git push heroku master, il va et cherche ma clé privée, qui se trouve à ~/.ssh/github_rsa. Ensuite, il échoue silencieusement avec le message que vous avez posté.

Cependant, j'ai essayé plus tard de ssh dans un autre serveur à l'aide de l' -i indicateur pour préciser ma "fiche d'identité" (c'est à dire de la clé privée), et il m'a invité pour le mot de passe de ma clé privée. Avoir "débloqué" de la clé privée, l' git push heroku master commande fonctionne. Quelques conclusions:

  • Alors qu' ssh vous invite à entrer le mot de passe à un fichier d'identité, git ne le seront pas.
  • Si vous déverrouillez le fichier d'identité avec une autre méthode, comme ssh, il restera déverrouillé pour votre git d'utilisation.
  • Il ne semble pas être de toute la documentation sur la façon de supprimer définitivement la protection par mot de passe sur un fichier d'identité, y compris avec la commune de la commande unix keytool.
  • Au-dessus des solutions de création d'une nouvelle paire clé publique/privée semble être une solution de contournement pour ce problème de mot de passe, sans savoir qui est le problème.

2voto

Cabbibo Points 481

0voto

Saulo Falcao Points 11

Si aucune des autres solutions fonctionne pour vous, n’oubliez pas que vous êtes connecté dans le shell de linux avec votre compte et pas avec le compte root .

De cette façon, si vous exécutez avec l’utilisateur qui n’est pas le propriétaire de votre ssh keys, git va chercher les clés mal authentifier

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X