git - generate - La tecla Guardar ssh falla
git ssh windows (8)
Estaba usando bash en las ventanas que venían con git. El problema fue que asumí que la tilde (~) que estaba usando para indicar que mi camino a casa se expandiría correctamente. Funciona al usar cd, pero para corregir este error solo tenía que darle la ruta absoluta.
Acabo de comenzar un tutorial de Git y llego a un callejón sin salida: trato de generar una parte de la tecla rsa y falla. Hice esto, en git bash:
ssh-keygen -t rsa -C "[email protected]"
Y tengo esto:
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Eva/.ssh/id_rsa):
enter passphrase:
enter same passphrase again:
open /c/Users/Eva/.ssh/id_rsa failed: no such file or directory.
Saving the key failed:/c/Users/Eva/.ssh/id_rsa.
Intenté guardar en una carpeta diferente y todo salió bien. pero ahora hago el comando ssh -T [email protected]
y me da el error permisson denied (publickey).
Parece que estás ejecutando ese comando desde una sesión DOS (mira este hilo ), y eso significa que necesitas crear el directorio .ssh
antes de dicho comando.
O puede ejecutarlo desde la sesión bash (parte de la distribución msysgit), y debería funcionar.
Si prefiere usar una GUI para crear las claves
- Use Putty Gen para generar una clave
- Exportar la clave como una clave SSH abierta
- Como lo menciona @VonC, crea el directorio .ssh y luego puedes soltar las claves privadas y públicas allí
- O use un programa GUI (como Tortoise Git ) para usar las teclas SSH
Para ver un tutorial sobre putty gen para los pasos anteriores, consulte http://ask-leo.com/how_do_i_create_and_use_public_keys_with_ssh.html
Si está utilizando Windows, la ruta predeterminada de estilo ssh de ssh-keygen es la culpa.
En la línea 2 dice Enter file in which to save the key (/c/Users/Eva/.ssh/id_rsa):
Ese nombre de archivo completo en parantheses es el predeterminado, obviamente Windows no puede acceder a un archivo como ese. Si escribe el equivalente de Windows ( c:/Users/Eva/.ssh/id_rsa
), debería funcionar.
c:/Users/Administrator/.ssh>ssh-keygen -t rsa -C "[email protected]"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/Administrator/.ssh/id_rsa): C:/Users/Administrator/.ssh/id_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:/Users/Administrator/.ssh/id_rsa.
Your public key has been saved in C:/Users/Administrator/.ssh/id_rsa.pub.
The key fingerprint is:
... [email protected]
The key''s randomart image is:...`
Sé que este es un hilo viejo, pero pensé que la respuesta podría ayudar a otros.
Debe crear la carpeta .ssh para guardar las claves ssh.
Por cierto, utilicé este estilo de ruta: C:/Users/you/.ssh/id_rsa
En Windows, tuve que crear la variable de entorno HOME
apunta primero a mi perfil de usuario (C:/Users/<name>)
o al directorio que prefiera.
Luego, inicie una nueva ventana de línea de comando, cree un directorio .ssh
en su perfil de usuario o .ssh
directorio con el comando mkdir ".ssh"
.
Después de hacer eso, pude usar el ssh-keygen sin ningún problema de ruta.
Tuve el mismo problema. Tuve que proporcionar la ruta completa utilizando las convenciones de Windows. En este paso:
Enter file in which to save the key (/c/Users/Eva/.ssh/id_rsa):
Proporcione el siguiente valor:
c:/users/eva/.ssh/id_rsa
Luché con el mismo problema hace un tiempo (usando Mac). Esto es lo que hice y finalmente funcionó:
(1) Confirme que el directorio .ssh existe:
#show all files including hidden
ls -a
(2) Acepte todos los valores predeterminados simplemente presionando enter en el prompt
Enter file in which to save the key (/Users/username/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Deberías recibir un mensaje:
Your identification has been saved in /Users/username/.ssh/id_rsa.
Your public key has been saved in /Users/username/.ssh/id_rsa.pub.
The key fingerprint is:
BZA156:HVhsjsdhfdkjfdfhdX+BundfOytLezXvbx831/s [email protected]
The key''s randomart image is:XXXXX
PD: si está configurando git para rieles, haga lo siguiente ( fuente ):
git config --global color.ui true
git config --global user.name "yourusername"
git config --global user.email "[email protected]"
ssh-keygen -t rsa -C "[email protected]"
(luego acepte todos los valores predeterminados presionando enter)