web-dev-qa-db-fra.com

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

Je lance git Push -u Origin master

Il me dit que "L'autorisation est refusée (clé publique) fatale: l'extrémité distante a raccroché de manière inattendue"

Ensuite, j'ai regardé sur Internet et constaté que je devais générer une clé SSH pour mon compte sur GitHub. Cependant, après avoir essayé de faire ssh-keygen -t rsa "[email protected]", il 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 aide, j'utilise Ruby Rails et je suis sur un ordinateur Windows. Quelqu'un pourrait-il m'aider?

98
user1567909

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

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

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


Mise à jour 2015:
ssh-keygen.exe fait partie de GIT POUR WINDOWS, dont VERSIONS inclut 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é précédemment , Git pour Windows éliminera bientôt msysgit.
J'ai détaillé dans " Pourquoi est-ce que si vous téléchargez Git 2.0 depuis le net, vous obtenez toujours un paquet d'installation 1.9.4? " Comment cette nouvelle version est-elle basée sur la plus récente msys2 projet .

130
VonC

Je viens d'avoir ce problème et je pensais partager ce que je pensais être un moyen plus facile de contourner ce problème. 

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

git-bash aurait dû être installé quand vous avez installé git. Si vous ne le trouvez pas, vous pouvez vérifier C:\Program Files\Git\Git Bash

La première fois que j'ai fait cela, le dossier .ssh n'a pas été créé pour moi. J'ai donc dû ouvrir une invite de commande standard et mkdir C:\Users\nomutilisateur\.ssh

62
cjaypierson

J'ai suivi ci-dessous dans Windows (avec Git pour Windows installé)

  1. Exécuter "Git Gui" (Démarrer -> Git -> Git Gui)
  2. Cliquez sur Aide, puis sur Afficher la clé SSH.
  3. Cliquez sur Générer une clé si vous n'en avez pas déjà.

Remarque: - les fichiers de clé sont créés dans le dossier de votre profil personnel C:\Users\YourUserID\.ssh \.

 enter image description here

38
Dinesh Rajan

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

Dans l'invite de commande, accédez au répertoire git\bin, .__, puis exécutez vos commandes à partir d'ici.

9
pirgauthier

Pas besoin d'ajouter quoi que ce soit aux variables environnementales! Ouvrez simplement git bash et exécutez la commande ssh-keygen.

Lien pour télécharger git bash ici

8
Bilton Tran

Si vous avez installé Git et qu'il est installé dans C:\Program Files, suivez les instructions ci-dessous.

  1. Allez dans "C:\Program Files\Git"
  2. Exécutez git-bash.exe, cela ouvre une nouvelle fenêtre
  3. Dans la nouvelle fenêtre bash, exécutez "ssh-keygen -t rsa -C" "
  4. Il vous invite à indiquer le fichier dans lequel enregistrer la clé. N'entrez aucune valeur. Appuyez simplement sur Entrée.
  5. Idem pour la phrase secrète (deux fois), appuyez simplement sur Entrée
  6. id_rsa et id_rsa.pub seront générés dans votre dossier personnel sous .ssh 
6
user3233126

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

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

dans mon cas, il se trouve dans D:\Program Files (x86)\Git\bin, remplacez-le par le chemin d'installation de Git. (Je viens de le laisser avec mon chemin afin qu'il soit plus clair sur la façon d'écrire cela)

4
Vlad

Je pense que vous pouvez ajouter l'emplacement du fichier ssh-keygen.exe dans la variable d'environnement PATH. Suivez les étapes: Allez dans Poste de travail-> Clic droit-> Propriétés-> Paramètres système avancés-> Cliquez sur Variables d'environnement. Maintenant, cliquez sur PATH, puis sur EDIT. Dans le champ valeur de variable, allez à la fin et ajoutez '; C:\chemin\à\msysgit1.7.11\bin\ssh-keygen.exe' (sans guillemets)

3
Nehal J Wani

Vous devriez probablement vérifier ceci . Windows n'a pas cette commande intégrée.

1

ne faites rien, tapez simplement votre invite de commande

C:\> sh

alors tu as comme ça

sh-4.4$ 
# type here 
ssh-4.4$ ssh-keygen -t rsa -b 4096 -C "[email protected]"

cela devrait fonctionner.

1
Osama Saeed

pour ceux qui ne choisissent pas BASH ICI option. tapez sh dans cmd alors ils devraient avoir ssh-keygen.exe accessible

0
Zeeshan Khan

Je l'ai corrigé en ajoutant simplement ssh-keygen à mes variables d'environnement.

0

Pour les fenêtres, vous pouvez ajouter ceci:

SET PATH="C:\Program Files\Git\usr\bin";%PATH%
0
oumina

ssh-keygen était disponible chez powershell.

0
user4757074