53 votes

autorisation git push heroku master refusée

Je suis le ruby.railstutorial. Je lance la commande "git push heroku master" et il crache cette erreur.

 Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
 

Je suis dans mon application rails "/ Users / lexi87 / rails_projects / first_app". Des solutions?

67voto

Fa11enAngel Points 2754

La meilleure façon d'éviter de telles erreurs est d'utiliser une paire clé publique/privée et non une clé supplémentaire pour heroku. De cette façon, vous (ou votre système) ne peut pas choisir la mauvaise clé de connexion dans heroku.

Si vous obtenez cette erreur, vous avez fait quelque chose de mal. Consulter ce site: https://devcenter.heroku.com/articles/keys

Si vous geht cette erreur, le mieux est de retirer les clés inutiles et d'utiliser un seul.

Si vous avez besoin de plus d'une paire de clés sur votre système, vous pouvez définir une clé pour heroku. Ceci est fait grâce à la commande suivante:

heroku keys:add

13voto

mjulmer Points 101

Un peu d'aide pour les utilisateurs de Windows 7 avec Github Windows client installé:

Même si heroku toolbelt les rapports, il a trouvé mon git_hub clé publique et l'a envoyé, 'git push heroku maître" a échoué. Après avoir pris les mesures ci-dessous, il fonctionne très bien.

  1. Créer .ssh sous-dossier de votre dossier Utilisateur si l'un n'existe pas. Si elle, supprimez tous les fichiers qu'il contient (cela suppose que vous êtes OK avec à partir de zéro avec des clés ssh).

  2. Dans l'Explorateur Windows, cliquez droit sur le .ssh dossier, puis choisissez la commande Git bash à partir du menu contextuel. Ce est installé avec le Github du logiciel client Windows.

  3. Dans la fenêtre entrer dans bash ssh-keygen -t rsa -C "yourname@email.com" Lorsque vous êtes invité à entrer un mot de passe (ne pas perdre).

  4. Fermer le shell bash de la fenêtre.

  5. À partir d'une invite de cmd dans votre racine du projet, entrez heroku keys:add. Cela permettra de trouver et de télécharger la clé que vous venez de créer à partir de votre /.ssh fichier Heroku.

Maintenant, vous pouvez entrer en git push heroku master de vous pousser application jusqu'à Heroku. Remarque: vous devez ajouter votre nouvellement générés clé publique ssh à votre compte Github.

8voto

Adam Labi Points 81

J'ai fait face au même problème. Dans mon dossier .ssh, j'avais un fichier appelé "Hôtes connus". Je n'arrêtais pas d'essayer de supprimer et de créer de nouvelles clés SSH, cela ne fonctionnait pas. En fin de compte, je viens de supprimer tout ce qui se trouve dans le .ssh, y compris les «hôtes connus», puis de créer une nouvelle clé RSA en utilisant:

 ssh-keygen -t rsa
 

puis j'ai ajouté cette nouvelle clé à heroku en utilisant:

 heroku keys:add
 

créez ensuite un nouveau référentiel heroku et appuyez mon application dessus:

 heroku create
git push heroku master
 

4voto

ajhino Points 91
ssh-keygen -t rsa

Ci-dessus est facultative que vous pouvez également accéder à une clé existante. Heroku vous invite à sélectionner la clé à l'étape suivante.

heroku keys:add

Ajouter votre nouvellement créé ou existant. Si vous êtes toujours en cours d'exécution dans la question, vous aurez probablement besoin d'ajouter la clé de votre machine de la liste de clés ssh en effectuant les opérations suivantes:

ssh-add ~/.ssh/name_of_your_rsa

et de confirmer que votre ssh a été ajouté

ssh-add -l

Cela devrait vous obtenez l'accès à push Heroku à distance de pensions de titres.

2voto

wiherek Points 436

sur OSX, je rencontrais le même problème, je devenais

 no such identity: /Users/me/.ssh/yourPrivateKey: No such file or directory
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
 

J'ai essayé de créer une nouvelle clé avec ssh-keygen -t rsa puis de l'ajouter avec des clés heroku: add, mais cela n'a pas aidé.

Ensuite, j'ai trouvé un fichier nommé config dans ~ / .ssh /, et à l'intérieur du fichier, il y avait:

 ServerAliveInterval 300
ServerAliveCountMax 3

host heroku.com
    user git
    hostname heroku.com
    identityfile ~/.ssh/yourPrivateKey
 

J'ai donc remplacé yourPrivateKey par ma clé privée filename ( id_rsa par défaut) et cela a fonctionné :)

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