Autorisation refusée (publickey) lors du déploiement du code Heroku. fatal: l'extrémité distante a raccroché de façon inattendue

849

J'essaie de déployer mon code sur heroku avec la ligne de commande suivante:

git push heroku master

mais obtenez l'erreur suivante:

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

J'ai déjà téléchargé ma clé SSH publique, mais cette erreur persiste.

vich
la source
la solution de sebarmeli a-t-elle fonctionné pour vous? Je n'utilise pas de clé rsa nommée "id_rsa.pub" et je viens de saisir "clés heroku: ajoutez ~ / .ssh / <rsa_key_filename> .pub"
Michael Merchant
6
J'ai eu ce problème il y a près d'un an et la solution proposée à l'époque ne fonctionnait pas exactement pour moi, mais je l'ai compris d'une manière ou d'une autre (à ce stade, je ne me souviens pas exactement de ce que j'ai fait). Sebarmeli a répondu un moment après que je n'ai plus eu besoin d'aide, bien qu'il semble que sa réponse soit assez populaire parmi ceux qui ont connu un problème similaire. Si cela rend les gens heureux, je choisirai sa réponse comme la bonne.
vich
3
La ligne suivante a résolu le problème pour moi. comptes Heroku: définissez votre compte
Mingming
Il semble que certains services Heroku soient en panne aujourd'hui - assurez-vous de vérifier leur site pour les problèmes si vous déboguez cela!
Philip Guin
J'ai eu le même problème, tout ce que je devais faire, c'est heroku loginensuite écrire un e-mail et un mot de passe et réessayer.
Alejandro Veintimilla

Réponses:

1474

Vous devez télécharger votre clé publique sur Heroku:

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

Si vous n'avez pas de clé publique, Heroku vous invitera à en ajouter automatiquement une qui fonctionne de manière transparente. Utilisez simplement:

heroku keys:add

Pour effacer toutes vos clés précédentes, procédez comme suit:

heroku keys:clear

Pour afficher toutes vos clés existantes, procédez comme suit:

heroku keys

ÉDITER:

Ce qui précède ne semble pas fonctionner pour moi. J'avais HOMEmal tourné avec la variable d'environnement et donc SSH cherchait des clés dans le mauvais répertoire.

Pour vous assurer que SSH vérifie la clé dans le bon répertoire, procédez comme suit:

ssh -vT [email protected]

Qui affichera les lignes (exemple) suivantes

OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
debug1: Connecting to heroku.com [50.19.85.156] port 22.
debug1: Connection established.
debug1: identity file /c/Wrong/Directory/.ssh/identity type -1
debug1: identity file /c/Wrong/Directory/.ssh/id_rsa type -1
debug1: identity file /c/Wrong/Directory/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version Twisted
debug1: no match: Twisted
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_4.6
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: sending SSH2_MSG_KEXDH_INIT
debug1: expecting SSH2_MSG_KEXDH_REPLY
debug1: Host 'heroku.com' is known and matches the RSA host key.
debug1: Found key in /c/Wrong/Directory/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /c/Wrong/Directory/.ssh/identity
debug1: Trying private key: /c/Wrong/Directory/.ssh/id_rsa
debug1: Trying private key: /c/Wrong/Directory/.ssh/id_dsa
debug1: No more authentication methods to try.

Permission denied (publickey).

De ce qui précède, vous pouvez observer que ssh recherche les clés dans le /c/Wrong/Directory/.sshrépertoire qui n'est pas où nous avons les clés publiques que nous venons d'ajouter à heroku (en utilisant heroku keys:add ~/.ssh/id_rsa.pub) ( veuillez noter que dans Windows OS se ~réfère au HOMEchemin qui dans winC:\Users\UserName 7/8 est )

Pour afficher votre répertoire personnel actuel, procédez comme suit: echo $HOMEou echo %HOME%(Windows)

Pour définir HOMEcorrectement votre répertoire (par correctement, je veux dire le répertoire parent du .sshrépertoire, afin que ssh puisse rechercher des clés dans le bon répertoire) reportez-vous à ces liens:

  1. SO Réponse sur la façon de définir la variable d'environnement Unix de façon permanente

  2. SO Question concernant ssh à la recherche de clés dans le mauvais répertoire et une solution pour le même.

Raghav RV
la source
31
Ça n'a pas marché pour moi. J'ai dû révoquer mon ancienne clé, puis laisser l'application heroku générer et télécharger une nouvelle pour moi. Voir le lien sur la façon de procéder fourni par Lithium.
borisdiakur
9
juste une note aux gens qui disent que ça n'a pas marché. vous devez vous assurer que vous disposez déjà d'une clé publique ssh. help.github.com/mac-set-up-git pour plus d'informations sur le faire avec mac.
Ryan
92
si vous n'avez pas de clé publique, heroku vous invitera à en ajouter automatiquement une qui fonctionne de manière transparente. Utilisez simplement:heroku keys:add
vansan
13
Essayez également, ssh-keygen -t rsa -C "[email protected]"si l'erreur persiste, de créer un autre fichier.pub et d'utiliser celui-ci dans la commande recommandée dans cette réponse
Tom Roggero
3
Vous devrez peut-être créer / recréer une clé avant d'ajouter à heroku. whatibroke.com/?p=284 a fonctionné pour moi pour Windows 7.
Khalid Saifullah
146

J'ai eu le même problème, les étapes ci-dessous ont fonctionné pour moi,

->heroku login

[email protected] & mot de passe

->cd C:\Users\yourusername\.ssh    (OR for cygwin shell ->cd ~/.ssh)

->ssh-keygen -t rsa -f id_rsa

si demande une phrase secrète, n'utilisez pas de blanc, remplissez-la avec une phrase secrète, mais ne l'oubliez pas.

Après avoir généré la clé, vous devez l'ajouter, comme ça

$ ssh-add

et à heroku

->heroku keys:add "id_rsa.pub"

changer le répertoire en espace de travail, puis

->git clone [email protected]:stark-dawn-1234.git -o heroku

utilisez la phrase de passe que vous avez définie ci-dessus.


En fait, je supprime également les fichiers ci-dessous, mais je ne suis pas sûr qu'ils soient imp,

C: \ Users \ yourusername.heroku \ credientals et C: \ Users \ yourusername.ssh \ known_hosts

Onur Turhan
la source
21
Cela l'a résolu pour moi. Je pense que la raison en était que j'avais un fichier 'github_rsa' Github for Windows, mais pas de fichier id_rsa.
msiemens
N'a pas fonctionné avec le programme d'installation d'OpenSL. J'ai dû installer CopSSH pour obtenir le programme ssh-keygen.exe.
djangofan
Sur Windows 7, je devais le faire à l' git bashinvite de commande afin d'exécuter ssh-keygen. Merci.
Rots
Cela a fonctionné pour moi et semble être la meilleure solution. La meilleure question est pourquoi je dois répéter cela tous les deux jours
Paul Renton
3
Cela a fonctionné pour moi. Si vous utilisez Git Bash sous Windows, la clé DOIT être nommée id_rsa.pub ou cela ne fonctionnera pas, même si vous téléchargez autre chose sur Heroku.
Kiv
90

Ce problème me dérangeait depuis quelques jours.

Cela pourrait aider.

1) Découvrez maintenant quelles clés vous avez dans Heroku.

$ heroku keys
=== 1 key for [email protected]
ssh-dss AAAAB8NzaC...DVj3R4Ww== [email protected]

2) Créez un fichier ~ / .ssh / config:

$ sudo vim ~/.ssh/config

Modifier avec ces informations

Host heroku.com
Hostname heroku.com 
Port 22 
IdentitiesOnly yes 
IdentityFile ~/.ssh/ssh-dss # location and name of your private key
TCPKeepAlive yes 
User [email protected]
jkpham
la source
3
Cela a également fonctionné pour moi, après rien d'autre! Cependant, il devrait y avoir un saut de ligne avant Userdans cette dernière ligne. De plus, il se plaignait du #commentaire, je l'ai donc supprimé.
Erik J
2
Assurez-vous que le "IdentityFile" a le fichier non public (comme ci-dessus), pas le fichier public. Pour une raison quelconque, la mienne avait la version publique et elle renvoyait une erreur indiquant que les autorisations pour le fichier étaient incorrectes.
Kevin K
L'ajout de ces hostinformations à mon fichier de configuration a résolu le problème pour moi. J'ai créé une clé heroku rsa et les autorisations par défaut sur heroku.pub ont généré une erreur lorsque j'ai essayé de le faire git push. Je devais chmod 600 heroku.pubet puis quand j'ai poussé ça a marché.
Dylan Valade
1
IdentityFile ~/.ssh/ssh-dssest le chemin d'accès à la clé privée . Vous souhaitez saisir votre clé privée ici, pas votre clé publique .
HairOfTheDog
1
Cette réponse est ce qui m'a mis au-dessus. J'utilise Windows 7 64 bits. Il existe un certain nombre d'autres étapes qui ont aidé, telles que: ssh-keygen -t rsa -f id_rsa, puis en supprimant toutes les clés heroku et en ajoutant celle qui vient d'être créée: clés heroku: effacer les clés heroku: ajouter C: \ Users \ username \ .ssh \ id_rsa.pub, puis en modifiant légèrement le fichier ci-dessus en IdentityFile C: /Users/windows_username/.ssh/id_rsa
Paul
61

Voici le lien qui explique comment gérer vos clés ssh: https://devcenter.heroku.com/articles/keys#adding-keys-to-heroku

lithium
la source
2
Heroku ne m'a jamais incité à en ajouter un. J'ai donc dû faire le ssh-keygen en premier. Cela a aidé. Merci!
Kal
Celui-ci a fonctionné pour moi. Généré une nouvelle clé, dans mon cas, remplacez l'ancienne, puis choisissez id_rsa.pub à utiliser avec heroku. Merci
jfoutch
35

J'ai eu le même problème car je n'avais pas de clés publiques, alors j'ai fait:

heroku keys:clear
heroku keys:add

Cela va générer une clé publique et ça marche bien

Stefan Manastirliu
la source
1
J'obtiens toujours l'erreur. j'essaie différentes choses, je le résous, puis j'ai le même problème la semaine prochaine ... Je me demande pourquoi Heroku est comme ça.
JGallardo
31

Si vous êtes un utilisateur Windows, les autres solutions ne résoudront probablement pas votre problème.

J'utilise Windows 7 64 bits + Git-1.7.7.1-preview20111027 et la solution était de copier mes clés de C:\users\user\.sshà C:\Program Files (x86)\Git\.ssh. C'est là que ce client git cherche les clés lorsqu'il passe à heroku.

J'espère que ça aide.

Leo
la source
2
Pour moi, c'était c: \ msysgit \ .ssh. Je viens de créer une jonction de répertoire vers le dossier .ssh dans mon dossier personnel.
Colin Bowern
Même problème ici, mais pourquoi je ne sais pas. Chaque fois que j'ajoutais des clés, il s'affichait qui utilisait les clés de mon dossier utilisateur, pareil avec ce correctif mais cela fonctionnait.
Haris Krajina
12
NE FAITES PAS CELA! Cela fonctionne parce que HOME est vide et qu'il est par défaut le répertoire exe actuel. Si quelqu'un parvient à se connecter en tant qu'invité, il peut obtenir votre clé privée. Définissez HOME dans Advanced User Settings sur% HOME_DRIVE %% HOMEPATH%, (ou C: \ Users \ <username> sur Win7) et copiez-y le répertoire .ssh.
dmajkic
En plus de @dmajkic, sur Win7, consultez cette astuce Git pour Windows pour définir la %HOME%variable d'environnement sur %USERPROFILE%.
Steve Eynon
29

Ce fut la solution pour moi:

ssh-add ~/.ssh/my_heroku_key_rsa
Gabor
la source
1
Pareil ici. Je vous remercie. Assurez-vous également que votre clé privée dispose des autorisations appropriées qui lui sont associées. chmod 600 ~/.ssh/heroku_rsa
Arnaud Brousseau
merci - c'était aussi mon problème, et je devais également suivre le conseil d'Arnaud.
Mike Atlas
15

Pour partager mon expérience:

Git (ma propre installation) cherchait la clé nommée 'id_rsa'.

J'ai donc essayé de renommer mes clés en «id_rsa» et «id_rsa.pub» et cela a fonctionné.

Btw, je suis sûr qu'il y a une autre façon de le faire, mais je n'ai pas encore approfondi.

Maxence
la source
3
A fonctionné pour moi (Windows 7 64 bits). J'ai installé GitHub pour Windows et il nomme les clés GitHub_rsa. Existe-t-il un moyen de spécifier quelle clé Git doit utiliser?
Spongeboy
11

Si vous avez déjà téléchargé la clé, essayez de la retirer, puis de la télécharger à nouveau avec une nouvelle clé.

 heroku keys:remove //removes the existing key
 ssh-keygen -t rsa //generates a new key in ~/.ssh folder
 heroku keys:add    //uploads the new key, if no arguments r passed then the key generated                              
                    //in default directroy i.e., ~/.ssh/id_rsa is uploaded
 git push heroku

cela devrait fonctionner.

Srinivas Kattimani
la source
Merci, cela a fonctionné pour moi. Bien que j'aie utilisé des clés Heroku: effacer au lieu de clés Heroku: supprimer.
Peter de Ridder
1
Faux,Must specify KEY to remove
JGallardo
7

Je me suis tué pendant 3 jours en essayant toutes les combinaisons possibles pour essayer de faire fonctionner cela - j'ai finalement essayé de créer une clé DSA à la place et cela a fonctionné.

Essayez DSA au lieu de RSA si cela ne fonctionne pas pour vous.

(J'utilise Ubuntu 11.10, ruby ​​1.8.7, heroku 2.15.1)

Sauce McBoss
la source
1
J'ai parlé avec le support Heroku, et ils ont suggéré cela comme une solution temporaire. Cela a fonctionné pour moi, mais je suis sûr que ce n'est pas la réponse pour chaque cas.
Sauce McBoss
3
Je ne sais pas pourquoi cette réponse méritait un vote négatif ... Cela a résolu le problème pour moi, et cela suggère une réponse au problème.
Sauce McBoss
J'ai eu le problème opposé ... même si les documents de développement Heroku disent que vous pouvez utiliser une clé DSA (ssh-dss), j'ai continué à recevoir le message `` Autorisation refusée '' jusqu'à ce que je passe à une clé RSA
brandonjp
travaillé pour moi. Le basculement entre dsa et rsa semble fonctionner si vous changez vos clés après la création de heroku et avant la poussée de git.
Pramod
et comment créer une clé DSA et l'ajouter à heroku?
coiso
6

Sur Windows 7,64 bits, la solution ci-dessus (celle d'Onur Turhan) a fonctionné pour moi avec de légères modifications comme ci-dessous

C:\Users\MyName > heroku login

Entrez votre e-mail / mot de passe

C:\Users\MyName >ssh-keygen -t rsa -f id_rsa

Cela a généré deux fichiers (id_rsa et id_rsa.pub) dans mon répertoire c: \ Users \ MyName (pas dans le répertoire .ssh)

heroku keys:add id_rsa.pub
git clone [email protected]:some-heiku-xxxx.git -o heroku

Je suppose que l'ajout du fichier "id_rsa.pub" correct est le plus important. Après avoir généré la clé publique à l'aide de keygen, vérifiez simplement que vous ajoutez la clé correcte en regardant l'horodatage lors de sa création.

Hrushikesh
la source
5

Une seule commande fonctionne:

heroku keys:add

Il en fera un s'il n'existe pas.

Travis Reeder
la source
Downvote, cela ne répond pas dans le contexte de l'erreur. J'ai supprimé l'existant, créé de nouveaux et ajouté les clés et toujours le problème. votre suggestion heroku keys:addn'est pas une réponse complète.
JGallardo
5

J'ai eu ce problème lorsque TortoiseGIT a été installé sur ma machine. Après avoir changé la variable d'environnement GIT_SSHde

"c:\Program Files\TortoiseGit\bin\TortoisePlink.exe"

à

"c:\Program Files (x86)\Git\bin\ssh.exe"

et en suivant ce tutoriel avec ssh-keygenet keys:add, ça marche!

zooli
la source
quel tutoriel avez-vous suivi?
eckes
celui ici d'Onur Turhan
zooli
Utiliser ssh fourni par Git IS est une très bonne solution. C'était vraiment compliqué de comprendre le plink / pageant / putty ici ...
Stéphane
4

Pousser fonctionnait pour moi, puis s'est arrêté soudainement.

Si l'api heroku connaît des temps d'arrêt, vous obtiendrez cette erreur lorsque vous essayez de pousser.

Vérifier:

https://status.heroku.com/

avant de paniquer trop fort.

Tronathan
la source
3

Séquence à suivre

$ heroku login
$ ssh-keygen -t rsa
$ heroku keys:add

Lors de l'exécution de la deuxième instruction, il demandera une entrée, appuyez simplement sur Entrée (retour) trois fois et une clé sera ajoutée.

Saurabh Rana
la source
beaucoup de gens ont eu exactement la même réponse. et ne fonctionne pas comme indiqué.
JGallardo
2

La réponse donnée ci-dessus fonctionne, mais j'ai découvert que je devais faire quelques étapes supplémentaires avant que cela fonctionne.

  1. J'ai supprimé tous les fichiers id_rsa * et généré un nouveau SSH à l'aide de ce guide.
  2. Ensuite, j'ai détruit l'application Heroku. Suppression du fichier ~ / .heroku / credentials.
  3. Commande 'heroku create' (et puisque le fichier d'informations d'identification est supprimé, il vous demandera votre e-mail / mot de passe.
  4. ENFIN, tapez 'Heroku Keys: Add' et il téléchargera le fichier par défaut ~ / .ssh / id_rsa.pub.
  5. Ça marche! Eh bien ... YMMV mais j'espère vraiment que cela pourra être utile car j'ai eu du mal toute la journée à essayer de comprendre cela! Haha
KoalaD
la source
2

Pour tous ceux qui ont essayé tout ce qui est mentionné ci-dessus sur Windows 7 et cela n'a toujours pas fonctionné, voici ce que j'ai fait: - ouvrez GitBash.exe depuis le répertoire Git C: \ Program Files (x86) \ Git \ (don ' t ouvrir une invite de commande, cela ne fonctionnera pas). - ajoutez ce qui suit comme mentionné ci - dessus , mais vous devez supprimer le #

Host heroku.com
Hostname heroku.com 
Port 22 
IdentitiesOnly yes 
IdentityFile ~/.ssh/ssh-dss
TCPKeepAlive yes 
User [email protected]

maintenant exécutez git push heroku master et cela devrait fonctionner.

Aymen Mouelhi
la source
En votant aussi. J'ai passé 6 heures avec hier et je ne pense pas que ce soit une connaissance qui m'importe. Je peux pousser vers Github via PowerShell et invite de commande, mais seul Git Bash fonctionne pour moi pour Heroku. Maintenant ça marche à chaque fois. Je finis également par me connecter à Heroku avant de pousser le maître Heroku. Ce n'est peut-être pas nécessaire, mais pour l'instant, c'est la superstition qui me fait continuer. Quel cauchemar
JMDenver
1

Il semble que votre ~/.ssh/authorized_keysfichier ne soit pas configuré correctement. Vérifier que:

  • C'est dans le bon chemin.
  • Les autorisations du fichier sont 0600.
  • Les autorisations de ~/.sshsont 0700.
cdhowie
la source
Je suis assez nouveau dans ce domaine, donc désolé si cela semble stupide, mais mon fichier de clé SSH public n'est qu'un groupe de caractères (génération de clé standard) sans aucune autre information. J'ai acquis ce fichier SSH lorsque j'ai configuré git sur mon ordinateur. J'ai supposé que ce serait la même clé SSH publique que j'utiliserais pour déployer mon code Heroku. Ou est-ce que heroku a sa propre clé SSH publique que je dois générer?
vich
1
Oui, vous pouvez réutiliser votre clé SSH publique pour de nombreux hôtes différents. Je ne sais pas exactement comment Heroku fonctionne, mais je peux voir que ma réponse ne s'applique pas vraiment dans ce cas. Vous pouvez vérifier que votre clé a été acceptée par leur interface Web. Si tout est toujours vérifié, essayez de contacter leur équipe d'assistance.
cdhowie
Merci pour le conseil! J'ai contacté le support Heroku. Je mettrai à jour une fois que j'aurai une réponse.
vich
D'accord. Je suis également intéressé d'entendre quel est le problème. :)
cdhowie
1
Le problème était donc de nommer le fichier de clé SSH public. Lorsque j'ai créé le fichier à l'origine, je l'ai également renommé, ce qui a causé des problèmes de déploiement car git ne se connectait pas correctement et a donc également fait échouer le déploiement de Heroku. Pour résoudre le problème, j'ai généré une nouvelle clé SSH publique et l'ai ajoutée à github avant de réessayer. Il se connecte maintenant! Merci de votre aide!
vich
1

Je devais faire:

$ ssh-keygen -t rsa  
$ heroku keys:add  

Ensuite, cela a fonctionné:

$ git push heroku master  
ericj
la source
1

Vérifiez votre configuration .ssh pour heroku. Accédez au dossier .ssh et ouvrez le fichier de configuration

cd ~/.ssh
subl config

Le «subl» est pour Sublime Text, mais vous pouvez utiliser l'éditeur que vous souhaitez. Recherchez la ligne "IdentityFile" et assurez-vous qu'elle contient la clé non publique:

IdentityFile "/Users/ircmullaney/.ssh/my_ssh"

ne pas

IdentityFile "/Users/ircmullaney/.ssh/my_ssh.pub"

Ça l'a fait pour moi. Je ne sais pas pourquoi la mienne avait la version publique dans le fichier de configuration, mais elle l'a fait et elle a généré l'erreur:

Permissions 0644 for '/Users/ircmullaney/.ssh/my_ssh.pub' are too open.
Kevin K
la source
1

J'avais encore des problèmes après avoir essayé toutes ces idées. C'était mon problème:

Mon référentiel Heroku distant était funk. Je l'ai rafraîchi comme suit:

git remote -v

Ensuite, supprimez celui qui est faux:

git remote rm heroku

Ajoutez ensuite le nouveau

git remote add heroku [email protected]:sitename.git

Vous pouvez obtenir le nom du site à partir de votre page de paramètres Heroku pour votre application. Bonne chance!

thatdankent
la source
1

Le problème que j'ai rencontré était sur Windows et invariablement chaque fois que j'exécutais les "clés heroku: ajouter", il sélectionnait les clés github. Voici donc les étapes que j'ai suivies pour résoudre le problème

  1. est allé dans le répertoire .ssh sous le dossier "Document and Settings" et a supprimé les clés git hub
  2. exécuter la commande touches heroku: ajouter

La commande ci-dessus m'a demandé de générer une nouvelle clé et voici la sortie Impossible de trouver une clé publique existante. Souhaitez-vous en générer un? [Yn] Y Génération d'une nouvelle clé publique SSH. Téléchargement de la clé publique SSH C: / Documents and Settings / Admin / .ssh / id_rsa.pub ... done! Le joyau «heroku» a été déconseillé et remplacé par la ceinture à outils Heroku, téléchargez et installez à partir de https://toolbelt.heroku.com .

  1. relancez la commande touches heroku: ajouter

La commande ci-dessus ne donnera pas la sortie suivante Clé publique existante trouvée: C: / Documents and Settings / Admin / .ssh / id_rsa.pub Téléchargement de la clé publique SSH C: / Documents and Settings / Admin / .ssh / id_rsa.pub .. . terminé

  1. Maintenant, utilisez le git push heroku master

pour moi, l'utilisation des étapes ci-dessus a résolu le problème et a pu déployer l'application sur le cloud.

Ashok
la source
1

J'éprouvais le même problème; suivre ces étapes devrait aider:

  1. Tout d'abord, connectez-vous: connexion Heroku
  2. Effacer toutes les clés: touches heroku: effacer
  3. Supprimer tous les fichiers du dossier local (tous les .pubfichiers et know_host) dans.ssh/ folder
  4. Connectez-vous à nouveau: connexion à heroku - vous y serez invité sans clé, alors suivez les instructions à l'écran.
Novpiar Effendi
la source
Ne fonctionne pas pour résoudre le problème. Je suis connecté, j'ai ajouté des clés avec succès et Permission denied (publickey).
j'obtiens
Pourquoi devons-nous supprimer tous les fichiers du dossier .ssh?
Starx
0

Je voudrais juste ajouter que le répertoire n'est pas nécessairement C: \ Users \ [nom d'utilisateur] \. Ssh. Il s'agit du répertoire dans lequel vous avez créé votre clé publique.

Par exemple, mon répertoire personnel dans Windows a été changé en C: \ [nom d'utilisateur]. Votre répertoire personnel dans un sous-dossier .ssh est le meilleur endroit et le plus probable où vous avez créé vos clés. Vous pouvez vérifier votre répertoire personnel dans Windows avec la commande:

    echo %HOMEPATH%
Nicolas
la source
0

Si vous souhaitez utiliser "sudo", exemple:

sudo git clone [email protected]......... -o heroku

vous devez également générer la clé ssh pour votre utilisateur root.

sudo su
cd /root/.ssh  
ssh-keygen -t rsa
....
heroku keys:add id_rsa.pub

et ça marchera.

si vous n'utilisez pas l'utilisateur root, générez plutôt la clé ssh dans votre répertoire utilisateur.

cd /home/user/.ssh

Désolé si mes phrases ont foiré ...

Gamin
la source
0

Essayez de réparer les autorisations dans l'Utilitaire de disque (Mac OS X). M'a aidé

Ildar
la source
0

Assurez-vous d'abord que les fichiers cachés sont visibles sur votre Mac. Sinon:

  • Ouvrir le terminal et saisir defaults write com.apple.Finder AppleShowAllFiles TRUE
  • killall Finder

Prochaines étapes:

  • Va Users/user_name/.ssh/supprimer tous les fichiers.
  • Ouverture du type de terminal dans ssh-keygen -t dsa
  • alors heroku keys:add ~/.ssh/id_dsa.pub

NB Je l'ai fait dans Mac OSX 10.7.2 Lion. Bien que la procédure devrait être la même dans d'autres.

Munim Dibosh
la source
0

J'ai aussi ce problème. J'utilise Mac OSX. La façon dont j'ai corrigé cela était de me connecter en tant qu'administrateur

sudo su

mot de passe

Jake Lin
la source
0

La solution de dmajkic m'aide enfin:

Pour les utilisateurs de Windows, cela peut signifier: le client git ne trouve pas vos clés. Vérifiez les clés dans c: \ Users \ UserName.ssh \ et! variable d'environnement HOME = c: \ Users \ UserName \

Grigory Kislin
la source
0

Voici ce qui a fonctionné pour moi. Le site heroku n'est pas ajouté à vos hôtes connus. Accédez aux référentiels window-other-show view-git-git. De là, clonez le référentiel. Une fois que vous l'avez cloné, supprimez le référentiel qui vient d'être créé, puis importez-le depuis le menu fichier. Faites cela car lorsque vous clonez le référentiel, il ne l'ajoute pas à la vue de l'explorateur. Vous devriez maintenant avoir le dépôt git et la vue explorateur.

James Murgolo
la source