105 votes

ssh-keygen' n'est pas reconnu comme une commande interne ou externe.

Je cours git push -u origin master

Il me dit que "Permission refusée (clé publique) fatal : The remote end hung up unexpectedly".

J'ai ensuite cherché sur Internet et trouvé que je devais générer une clé ssh pour mon compte sur GitHub. Cependant, lorsque je l'ai fait, lorsque j'ai essayé de faire ssh-keygen -t rsa "email@youremail.com", le système m'a simplement dit que ssh-keygen n'était pas reconnu. J'ai essayé de faire mkdir C:\ssh mais cela n'a pas fonctionné. Si cela peut vous aider, j'utilise Ruby Rails et je suis sur un ordinateur Windows. Quelqu'un peut-il m'aider ?

133voto

VonC Points 414372

2012 :
ssh-keygen.exe fait partie de msysgit :

 C:\path\to\msysgit1.7.11\bin\ssh-keygen.exe

si votre %PATH% comprend C:\path\to\msysgit1.7.11\bin\ vous aurez ssh-keygen .


Mise à jour 2015 :
ssh-keygen.exe fait partie de Git pour Windows dont libère inclure PortableGit-2.4.3.1-2nd-release-candidate-64-bit.7z

c:\path\to\PortableGit-2.4.3.1-2nd-release-candidate-64-bit\usr\bin\ssh-keygen.exe

Cela signifie que le %PATH% doit inclure c:\path\to\PortableGit-2.4.3.1-2nd-release-candidate-64-bit\usr\bin (sans le ssh-keygen.exe )

Comme J'ai expliqué avant Git pour Windows va bientôt remplacer msysgit.
J'ai détaillé dans " Comment se fait-il que si vous téléchargez Git 2.0 sur le net, vous obtenez toujours un paquet d'installation 1.9.4 ? "comment cette nouvelle version est basée sur la plus récente projet msys2 .

0 votes

Est-ce que c'est sûr d'avoir ssh-keygen.exe dans le PATH de Windows ? Dois-je ensuite supprimer son emplacement ?

0 votes

@Green en fait, cela fait partie du système Windows. PATH seulement pendant votre session avec git, puisque vous lancez une session spéciale DOS avec git-cmd.bat : github.com/msysgit/msysgit/blob/master/git-cmd.bat . Il complétera le PATH et mettre HOME .

0 votes

En fait, le chemin devrait être sans ssh-keygen.exe . Je veux dire, ça ne fonctionne que de cette façon pour moi.

65voto

cjaypierson Points 151

Je viens de rencontrer ce problème et j'ai pensé partager ce que je pensais être un moyen plus facile de le contourner.

Ouvrez git-bash et exécutez la même commande avec l'ajout de -C puisque vous commentez votre adresse e-mail : ssh-keygen -t rsa -C "email@youremail.com" commande. C'est tout.

git-bash devrait avoir été installé lorsque vous avez installé git. Si vous ne le trouvez pas vous pouvez vérifier C:\Program Fichiers \Git\Git Bash

La première fois que j'ai fait cela, il n'a pas réussi à créer le dossier .ssh pour moi, j'ai donc dû ouvrir une invite de commande standard et faire un mkdir. C:\Users\yourusername\.ssh

15 votes

+1 pour ne pas suggérer l'installation d'un autre logiciel

2 votes

+1 c'est une meilleure solution parce qu'il n'y a pas besoin d'autre installation.

0 votes

Ma clé n'a pas été enregistrée dans .ssh dossier. Il a été enregistré dans le même répertoire que Git Bash existe.

10voto

Bilton Tran Points 51

Pas besoin d'ajouter quoi que ce soit aux variables environnementales ! Il suffit d'ouvrir git bash et d'y exécuter la commande ssh-keygen.

Lien pour télécharger git bash ici

9voto

pirgauthier Points 41

J'ai trouvé une solution facile pour résoudre ce problème :

Dans l'invite de commande, allez dans votre git \bin répertoire, et ensuite exécutez vos commandes à partir de là

6 votes

Sur mon système, Windows 10, ssh-keygen.exe a été trouvé dans 'git'. \usr\bin '.

4voto

Vlad Points 355

Il suffit d'aller dans heroku.bat et d'ajouter :

@SET PATH="D:\Program Files (x86)\Git\bin";%PATH% après @SET PATH=%HEROKU_RUBY%;%PATH%

dans mon cas, c'est dans D:\Program Fichiers (x86) \Git\bin modifiez-le en fonction du chemin dans lequel vous avez installé Git. (Je l'ai juste laissé avec mon chemin pour que ce soit plus clair sur la façon d'écrire ceci).

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