2011-12-18 10 views
5

He instalado msysgit: Git-1.7.8-preview20111206.exe desde http://code.google.com/p/msysgit/downloads/list (Editar: También he instalado msysGit-fullinstall-1.7.8-preview20111206.exe, que se instala convenientemente en un directorio diferente, y estoy viendo el los mismos problemas con esa instancia).¿Cómo puedo aislar los problemas con ssh-add/ssh-agent en la implementación de msys que viene con msysgit?

Y estoy teniendo un problema con ssh-agent, donde ssh-add siempre informa: "No se pudo abrir una conexión con su agente de autenticación".

Desafortunadamente, ssh-add no me da más detalles sobre el error que encontró. Parece que se agota el tiempo cuando intenta conectarse a un socket, pero en realidad no admite que este sea el problema, y ​​ssh-agent actúa como si funcionara normalmente. Pensar en esta combinación me hace sospechar un problema de permisos, pero no tengo idea de dónde buscaría investigar ese tipo de problema (y no veo nada que reconozca como significativo en el registro de eventos de Windows).

Este mensaje de error me confunde: tengo motivos para creer que podría obtener este mensaje de error si mis variables ambientales no se configuraron correctamente, pero tengo motivos para creer que tengo mis variables ambientales configuradas correctamente. Tengo motivos para creer que podría obtener este mensaje de error si mis variables ambientales se refieren a una instancia de ssh-agent que no se está ejecutando, pero tengo exactamente una instancia de ssh-agent ejecutándose y coincide con lo que veo en las variables ambientales . Y esto es repetible He comenzado (y finalmente cerrado) docenas de instancias de ssh-agent, usando técnicas como ssh-agent > ~/.ssh/environment; . ~/.ssh/environment, y eval `ssh-agent` y ssh-agent bash y así sucesivamente ... y no puedo obtener msys ssh-add para conectarme a msys ssh-agent.

bash-3.1$ ps | grep ssh-agent 
    10304  1 10304  10304 ? 500 09:01:24 /bin/ssh-agent 
bash-3.1$ bash -c 'set | grep SSH_A' 
BASH_EXECUTION_STRING='set | grep SSH_A' 
SSH_AGENT_PID=10304 
SSH_AUTH_SOCK=/tmp/ssh-oAFwa11048/agent.11048 
bash-3.1$ time ssh-add -L 
Could not open a connection to your authentication agent. 

real 0m10.730s 
user 0m0.000s 
sys  0m0.015s 
bash-3.1$ wc /tmp/ssh-oAFwa11048/agent.11048 
     0  3  52 /tmp/ssh-oAFwa11048/agent.11048 
bash-3.1$ cat /tmp/ssh-oAFwa11048/agent.11048; echo 
!<socket >59261 060A4541-9831B739-519220DE-57936738 
bash-3.1$ 

No estoy preocupado por nada de secuencias de comandos, por el momento - Creo que si puedo conseguir ssh-add trabajar desde la línea de comandos que puede script que ...

Y tenga en cuenta que también los 10 segundos de tiempo real que usa ssh-add antes de que emita el mensaje "No se pudo abrir ...".

Y, estoy usando una versión actual de Windows 7, aquí. Y, también tengo Cygwin instalado, pero no está en mi camino cuando estoy usando msys. El administrador de tareas me muestra que solo tengo una instancia de ssh-agent ejecutándose. El ssh-agent que se está ejecutando es msys ssh-agent, y se inició desde el prompt bash de msysgit (sin nada de cygwin en la ruta). La clave ssh se generó utilizando ssh-keygen de cygwin, pero las pruebas superficiales me muestran que las utilidades msys ssh no tienen ningún problema con el archivo. ssh-agent no me da ningún mensaje de error o advertencia.

Puedo usar ssh-agent de cygwin, pero mezclar cygwin y msys introduce otras complejidades (y puedes ver algo de eso solo por mi descripción de este problema), y estoy intentando que msys funcione sin nada de cygwin.

¿Qué debo hacer para averiguar por qué el msys ssh-add no funciona? (O: ¿qué debo hacer para que ese ssh-add funcione correctamente?)

Respuesta

5

No puedo decirle mucho sobre los por qué y cómo, pero puedo decirle lo que probé y lo que finalmente lo resolvió . En bash git:

exec ssh-agent bash 

Entonces (en la cáscara cambiada):

ssh-add 

que funcionó hasta cierto punto, que sólo tenía que escribir la contraseña una sola vez, pero he perdido el aspecto normal. Después de buscar un poco más encontré un.secuencia de comandos bashrc en this Github help page.

Cuestiones relacionadas