Windows 8.1 Git SSH

Sé que el uso de Git y SSH se ha preguntado muchas veces y ha respondido, sin embargo, aquí está mi problema.

Tengo el temido 'No se pudo abrir una connection con su agente de authentication'. Entiendo cómo funciona ssh-agent y utiliza un file de socket para comunicarse. Si no especifica el file, ssh-agent usa /tmp/ssh-xxxxxxx/agent.pid como valor pnetworkingeterminado. Con Windows 8.1 no puede crear files en la unidad principal, por lo que Windows colocará una networkingirección en C: \ Users \ userid \ AppData \ Local \ Temp y colocará el file allí. Estos son bien creados.

Cuando llamo eval $ (ssh-agent) dentro de Bash, el agente se inicia como un process separado. Creo las variables de entorno apropiadas (SSH_AUTH_SOCK, SSH_AGENT_PID) en mi entorno de Git Bash. Cuando llamo a ssh-add, falla.

Para probar mi comprensión, he utilizado un file dentro de mi directory de usuarios llamando a ssh-agent -a 'c: / Users / userid / Temp / socket' y estableciendo las variables de entorno correctamente. Nuevamente falla.

Luego inicié el agente en modo de debugging ssh-agent -da 'c: / Users / userid / Temp / socket', que no generó un process como se esperaba. Luego fui a un indicador de cmd de Windows y establecí las variables de entorno. Luego ingresé ssh-add , funcionó, me pidieron la contraseña para mi key privada.

Mi pregunta es: ¿Alguien sabe por qué el process de background no está recogiendo el ssh-add?

Algunas cosas han venido a la mente:

  1. El process en segundo plano utiliza una identificación de usuario diferente y, por lo tanto, no puede tener acceso al file de socket.

  2. El process en segundo plano no está obteniendo las variables de entorno establecidas correctamente.

Creo que este es un problema de Windows en lugar de uno ssh.

¿Alguna idea?