'ssh-keygen' no se reconoce como un comando interno o externo


103

Corro git push -u origin master

Me dice que "Permiso denegado (clave pública) fatal: el extremo remoto colgó inesperadamente"

Luego busqué en Internet y descubrí que tenía que generar una clave ssh para mi cuenta en GitHub. Sin embargo, al hacerlo, cuando intenté hacer ssh-keygen -t rsa "email@youremail.com", simplemente decía que ssh-keygen no era reconocido. Intenté hacer mkdir C: \ ssh pero no funcionó. Si ayuda, estoy usando Ruby Rails y estoy en una computadora con Windows. ¿Alguien podría ayudarme?

Respuestas:


133

2012:
ssh-keygen.exees parte de msysgit :

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

si su %PATH%incluye C:\path\to\msysgit1.7.11\bin\, lo tendrá ssh-keygen.


Actualización 2015:
ssh-keygen.exees parte de Git para Windows , cuyas versiones incluyen PortableGit-2.4.3.1-2nd-release-candidato-64-bit.7z

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

Eso significa que %PATH%debe incluir c:\path\to\PortableGit-2.4.3.1-2nd-release-candidate-64-bit\usr\bin(sin el ssh-keygen.exe)

Como expliqué antes , Git para Windows pronto eliminará msysgit.
En " ¿Por qué si descargas Git 2.0 de la red, siempre obtienes un paquete de instalación 1.9.4? ", Detallé cómo esta nueva versión se basa en el proyecto msys2 más reciente .


¿Es seguro tener ssh-keygen.exePATH en Windows? ¿Necesito eliminar su ubicación después de eso?
Verde

@Green en realidad, es parte de Windows PATHsolo durante su sesión con git, ya que está iniciando una sesión especial de DOS con git-cmd.bat: github.com/msysgit/msysgit/blob/master/git-cmd.bat . Completará PATHy fraguará HOME.
VonC

Acutalmente, el camino debería estar fuera ssh-keygen.exe. Quiero decir, funciona solo de esta manera para mí.
alexander

1
@alexander Estoy de acuerdo, y he editado la respuesta para hacerla más visible.
VonC

7
para mí, el camino fueC:\Program Files (x86)\Git\usr\bin
rupinderjeet

65

Acabo de tener este problema y pensé en compartir lo que pensé que era una forma más fácil de solucionarlo.

Abra git-bash y ejecute el mismo comando con la adición de -C ya que está comentando en su dirección de correo electrónico: ssh-keygen -t rsa -C "email@youremail.com"comando. Eso es.

git-bash debería haberse instalado cuando instaló git. Si no puede encontrarlo, puede consultar C: \ Archivos de programa \ Git \ Git Bash

La primera vez que hice esto, no pude crear la carpeta .ssh por mí, así que tuve que abrir un símbolo del sistema estándar y mkdir C: \ Users \ yourusername \ .ssh


15
+1 por no sugerir la instalación de otro paquete de software
Chip McCormick

2
+1 esta es una mejor solución porque no necesita otra instalación
guoleii

Mi clave no se guardó en la .sshcarpeta. Se guardó en el mismo directorio que Git Bashexiste.
Ahmad Behzadi

51

Seguí a continuación en Windows (con Git para Windows instalado)

  1. Ejecute "Git Gui" (Inicio -> Git -> Git Gui)
  2. Haga clic en Ayuda y luego en Mostrar clave SSH
  3. Haga clic en Generar clave si aún no tiene una

Nota: esto crea los archivos clave en la carpeta de su perfil personal C: \ Users \ YourUserID \ .ssh \

ingrese la descripción de la imagen aquí


Excelente respuesta: una manera fácil y agradable de crear una nueva clave SSH - TY :)
gav_aus_web

9

Encontré una solución fácil para solucionar esto:

En el símbolo del sistema, vaya a su directorio git \ bin y luego ejecute sus comandos desde aquí


6
En mi sistema, Windows 10, ssh-keygen.exe se encontró en 'git \ usr \ bin'.
Tarabass

9

¡No es necesario agregar nada a las variables ambientales! Simplemente abra git bash y ejecute el comando ssh-keygen allí.

Enlace para descargar git bash aquí


8

Si ha instalado Git y está instalado en C: \ Archivos de programa, siga lo siguiente

  1. Vaya a "C: \ Archivos de programa \ Git"
  2. Ejecute git-bash.exe, esto abre una nueva ventana
  3. En la nueva ventana de bash, ejecute "ssh-keygen -t rsa -C" "
  4. Solicita el archivo en el que guardar la clave, no ingrese ningún valor, simplemente presione enter
  5. Lo mismo para la frase de contraseña (dos veces), solo presione enter
  6. id_rsa y id_rsa.pub se generarán en su carpeta de inicio en .ssh

4

Simplemente vaya a heroku.bat y agregue:

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

en mi caso, está en D: \ Archivos de programa (x86) \ Git \ bin, cámbielo a la ruta en la que instaló Git. (Lo dejé con mi camino para que quede más claro cómo escribir esto)


3

Creo que puede agregar la ubicación del archivo ssh-keygen.exe en la variable de entorno PATH. Siga los pasos: Vaya a Mi PC-> Clic derecho-> Propiedades-> Configuración avanzada del sistema-> Haga clic en Variables ambientales. Ahora haga clic en RUTA y luego en EDITAR. En el campo de valor de la variable, vaya al final y agregue '; C: \ ruta \ a \ msysgit1.7.11 \ bin \ ssh-keygen.exe' (sin comillas)


3

no hagas nada, solo escribe tu símbolo del sistema

C:\> sh

entonces tienes así

sh-4.4$ 
# type here 
ssh-4.4$ ssh-keygen -t rsa -b 4096 -C "example@example.com"

esto debería funcionar.


2

Para Windows, puede agregar esto:

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



0

para aquellos que no eligen la opción BASH AQUÍ. escriba sh en cmd, entonces deberían tener ssh-keygen.exe accesible


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.