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.
heroku login
ensuite écrire un e-mail et un mot de passe et réessayer.Réponses:
Vous devez télécharger votre clé publique sur Heroku:
Si vous n'avez pas de clé publique, Heroku vous invitera à en ajouter automatiquement une qui fonctionne de manière transparente. Utilisez simplement:
Pour effacer toutes vos clés précédentes, procédez comme suit:
Pour afficher toutes vos clés existantes, procédez comme suit:
ÉDITER:
Ce qui précède ne semble pas fonctionner pour moi. J'avais
HOME
mal 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:
Qui affichera les lignes (exemple) suivantes
Permission denied (publickey).
De ce qui précède, vous pouvez observer que ssh recherche les clés dans le
/c/Wrong/Directory/.ssh
répertoire qui n'est pas où nous avons les clés publiques que nous venons d'ajouter à heroku (en utilisantheroku keys:add ~/.ssh/id_rsa.pub
) ( veuillez noter que dans Windows OS se~
réfère auHOME
chemin qui dans winC:\Users\UserName
7/8 est )Pour afficher votre répertoire personnel actuel, procédez comme suit:
echo $HOME
ouecho %HOME%
(Windows)Pour définir
HOME
correctement votre répertoire (par correctement, je veux dire le répertoire parent du.ssh
répertoire, afin que ssh puisse rechercher des clés dans le bon répertoire) reportez-vous à ces liens:SO Réponse sur la façon de définir la variable d'environnement Unix de façon permanente
SO Question concernant ssh à la recherche de clés dans le mauvais répertoire et une solution pour le même.
la source
heroku keys:add
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éponseJ'ai eu le même problème, les étapes ci-dessous ont fonctionné pour moi,
[email protected] & mot de passe
->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
et à heroku
changer le répertoire en espace de travail, puis
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
la source
Github for Windows
, mais pas de fichier id_rsa.git bash
invite de commande afin d'exécuter ssh-keygen. Merci.Ce problème me dérangeait depuis quelques jours.
Cela pourrait aider.
1) Découvrez maintenant quelles clés vous avez dans Heroku.
2) Créez un fichier ~ / .ssh / config:
Modifier avec ces informations
la source
User
dans cette dernière ligne. De plus, il se plaignait du#
commentaire, je l'ai donc supprimé.host
informations à 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 fairegit push
. Je devaischmod 600 heroku.pub
et puis quand j'ai poussé ça a marché.IdentityFile ~/.ssh/ssh-dss
est le chemin d'accès à la clé privée . Vous souhaitez saisir votre clé privée ici, pas votre clé publique .Voici le lien qui explique comment gérer vos clés ssh: https://devcenter.heroku.com/articles/keys#adding-keys-to-heroku
la source
J'ai eu le même problème car je n'avais pas de clés publiques, alors j'ai fait:
Cela va générer une clé publique et ça marche bien
la source
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.
la source
%HOME%
variable d'environnement sur%USERPROFILE%
.Ce fut la solution pour moi:
la source
chmod 600 ~/.ssh/heroku_rsa
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.
la source
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é.
cela devrait fonctionner.
la source
Must specify KEY to remove
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)
la source
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
Entrez votre e-mail / mot de passe
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)
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.
la source
Une seule commande fonctionne:
Il en fera un s'il n'existe pas.
la source
heroku keys:add
n'est pas une réponse complète.J'ai eu ce problème lorsque TortoiseGIT a été installé sur ma machine. Après avoir changé la variable d'environnement
GIT_SSH
deà
et en suivant ce tutoriel avec
ssh-keygen
etkeys:add
, ça marche!la source
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.
la source
Séquence à suivre
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.
la source
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.
la source
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 #
maintenant exécutez git push heroku master et cela devrait fonctionner.
la source
Il semble que votre
~/.ssh/authorized_keys
fichier ne soit pas configuré correctement. Vérifier que:~/.ssh
sont 0700.la source
Je devais faire:
Ensuite, cela a fonctionné:
la source
Vérifiez votre configuration .ssh pour heroku. Accédez au dossier .ssh et ouvrez le fichier de configuration
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:
ne pas
Ç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:
la source
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:
Ensuite, supprimez celui qui est faux:
Ajoutez ensuite le nouveau
Vous pouvez obtenir le nom du site à partir de votre page de paramètres Heroku pour votre application. Bonne chance!
la source
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
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 .
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é
pour moi, l'utilisation des étapes ci-dessus a résolu le problème et a pu déployer l'application sur le cloud.
la source
J'éprouvais le même problème; suivre ces étapes devrait aider:
.pub
fichiers etknow_host
) dans.ssh/ folder
la source
Permission denied (publickey).
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:
la source
Si vous souhaitez utiliser "sudo", exemple:
vous devez également générer la clé ssh pour votre utilisateur root.
et ça marchera.
si vous n'utilisez pas l'utilisateur root, générez plutôt la clé ssh dans votre répertoire utilisateur.
Désolé si mes phrases ont foiré ...
la source
Essayez de réparer les autorisations dans l'Utilitaire de disque (Mac OS X). M'a aidé
la source
Assurez-vous d'abord que les fichiers cachés sont visibles sur votre Mac. Sinon:
defaults write com.apple.Finder AppleShowAllFiles TRUE
killall Finder
Prochaines étapes:
Users/user_name/.ssh/
supprimer tous les fichiers.ssh-keygen -t dsa
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.
la source
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
la source
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 \
la source
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.
la source