491 votos

¿Cómo puedo decirle a Git para Windows donde encontrar mi clave privada RSA?

Mi GIT el programa de instalación se ejecuta bien en Linux, pero cuando trato de poner las cosas bajo Windows (usando Git para Windows y TortoiseGit), no sé dónde poner mi clave ssh (o, mejor aún, ¿cómo decirle a ssh en el que se encuentra). Estoy usando el estándar ssh.exe opción durante la instalación de Git para Windows. El programa de instalación se ejecuta bien, si me permiten la autenticación de contraseña (en lugar de la rsa) en el servidor.

488voto

Ben Lever Puntos 754

Para Git Bash

Si está ejecutando msysgit (estoy asumiendo que son) y están buscando para ejecutar Git Bash (yo recomiendo más de TortoiseGit, pero me inclino a la CLI de más de GUI ahora), usted tiene que averiguar lo que su directorio home es para Git Bash por partida, a continuación, escriba pwd (En Win7, va a ser algo como C:\Users\phsr creo). Mientras que usted está en git bash, usted debe mkdir .ssh.

Después de tener el directorio de inicio y un .ssh carpeta en la que desea abrir PuTTYgen y abrir la llave (.ppk archivo) haya creado previamente. Una vez que su clave es abierta, de la que desea seleccionar Conversions -> Export OpenSSH key y guardarlo en HOME\.ssh\id_rsa. Después de tener la llave en esa ubicación, Git bash reconocerá la clave y el uso.

Nota: los Comentarios indican que esto no funciona en todos los casos. Puede que tenga que copiar el OpenSSH clave para Program Files\Git\.ssh\id_rsa (o Program Files (x86)\Git\.ssh\id_rsa).

Para TortoiseGit

Cuando el uso de TortoiseGit, es necesario establecer la clave SSH a través de pacey las instrucciones. Lo que usted necesita hacer que cada repositorio está utilizando TortoiseGit con

145voto

Lovedeep Singh Puntos 1

Si usted está usando msysgit con el OpenSSH herramientas que necesita para crear ~/.ssh/id_rsa, o crear un git config en ~/.ssh/config que apunta a la clave.

He aquí un ejemplo de un Git config para bitbucket que se utilice el nombre de usuario correcto, y una clave distinta de la clave por defecto (en caso de que usted mantenga una clave para conexiones SSH, y otro para git cuentas).

Host bitbucket.org
    Hostname bitbucket.org
    User git
    IdentityFile /C/keys/yourkey.key

Una vez en git bash, puede ejecutar dos comandos para agregar la clave de su actual período de sesiones ssh-agent para evitar tener que escribir de forma repetida la tecla de la contraseña.

eval `ssh-agent`
ssh-add /C/keys/yourkey.key

107voto

Oct Puntos 796

Con la incorporada en el cliente SSH se entregan con Git para windows, se necesita la instalación de la CASA de la variable de entorno para que el Git cliente SSH puede encontrar la clave.

Por ejemplo, en un Windows Vista de la instalación, esto se llevaría a cabo mediante la emisión de setx HOME c:\Users\admin\ en la línea de comandos.

Hizo que mi día y se ha solucionado el problema con Git siempre que su clave privada no está protegido con contraseña. Si desea usar ssh-agent, entonces usted probablemente puede ejecutar ssh-agent cmd.exe (aunque yo nunca lo he hecho) y el ssh-add, como de costumbre.

Tenga en cuenta que todos Git/SSH herramientas se supone que debe ser ejecutado desde un cmd.exe con el fin de no parpadear una ventana.

Si esto no funciona correctamente, utilizando plink, probablemente, puede ser logrado mediante la modificación del GIT_SSH. Se refiere a todos los svn+ssh tutoriales, este es básicamente el mismo de plomería que usted necesita para la instalación.

55voto

pacey Puntos 2507

Puede especificar la Ubicación de la Clave de Tortoisegit la siguiente manera:

  • Abra una Ventana del Explorador.
  • Abra el Contextmenu y Navegar TortoiseGit > Settings
  • En la ventana que se abre Navegar a Git > Remote
  • Establecer la Ruta de acceso a la Masilla Clave en el correspondiente Cuadro de Entrada.

Pantalla de disparar a continuación:

enter image description here

50voto

Michael Madsen Puntos 30610

Ninguna de las respuestas anteriores trabajó para mí. Aquí fue lo que funcionó para mí en el final. En realidad, es bastante simple, si usted sabe qué tipo. No necesita masilla.

  • abrir un git bash
  • tipo de 'ssh-keygen'
    • acepte la ubicación predeterminada
    • elegir una frase de contraseña en blanco (tan sólo hay que pulsar "enter" para todas las preguntas')
  • ahora copia a su servidor, por ejemplo: scp ~/.ssh/id_rsa.pub someuser@someserver.com:~

Que es la parte que en su propio equipo hecho. Ahora ssh en el servidor de destino, a continuación, hacer

mkdir -p ~/.ssh
cd ~/.ssh
cat ../id_rsa.pub >> authorized_keys
rm ../id_rsa.pub

Eso es todo! Estás hecho! A partir de git bash, hacer la siguiente prueba:

ssh someuser@someserver.com ls

Si se enumeran los archivos en su directorio home en el servidor git, entonces estás hecho!

Edit: por github, usted no tiene acceso shell al servidor, pero se puede cargar la clave de uso de su sitio web, así que por el poco 'ahora copia a su servidor', hacer:

  • en git bash, tipo " cat ~/.ssh/id_rsa.pub', seleccione el resultado, y copiarlo en el portapapeles
  • En github sitio web, vaya a "configuración de la cuenta', 'claves ssh', haga clic en 'agregar clave ssh', y pegue la clave

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: