2011-12-18 11 views
5

Ho installato msysgit: Git-1.7.8-preview20111206.exe da http://code.google.com/p/msysgit/downloads/list (Modifica: ho anche installato msysGit-fullinstall-1.7.8-preview20111206.exe, che si installa comodamente in una directory diversa, e sto vedendo il stessi problemi con quell'istanza).Come isolare i problemi con ssh-add/ssh-agent fornito nell'implementazione msys fornita con msysgit?

E sto riscontrando un problema con ssh-agent, dove ssh-add riporta sempre: "Impossibile aprire una connessione con l'agente di autenticazione".

Sfortunatamente, ssh-add non mi fornisce ulteriori dettagli sull'errore riscontrato. Sembra che stia scadendo quando tenta di connettersi a un socket, ma in realtà non ammette che questo è il problema, e ssh-agent si comporta come se fosse in esecuzione normalmente. Pensare a questa combinazione mi fa sospettare un problema di autorizzazioni, ma non ho idea di dove cercare informazioni su questo tipo di problema (e non vedo nulla che riconosca come significativo nel registro eventi di Windows).

Questo messaggio di errore mi sconcerta: Ho ragione di credere che avrei potuto ottenere questo messaggio di errore se le mie variabili ambientali non sono state impostate correttamente, ma ho ragione di credere che ho i miei variabili ambientali impostate correttamente. Ho ragione di credere che potrei ottenere questo messaggio di errore se le mie variabili ambientali si riferiscono a un'istanza di ssh-agent che non è in esecuzione, ma ho esattamente un'istanza di ssh-agent in esecuzione e corrisponde a quello che vedo nelle variabili ambientali . E questo è ripetibile. Ho iniziato (e alla fine interrotto) dozzine di istanze di ssh-agent, usando tecniche come ssh-agent > ~/.ssh/environment; . ~/.ssh/environment e eval `ssh-agent` e ssh-agent bash e così via ... e non riesco a ottenere msys ssh-add per connettersi 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$ 

io non sono interessato a scripting nulla, appena ancora - Credo che se posso ottenere ssh-ADD di lavoro da linea di comando che posso sceneggiatura che ...

E nota anche che i 10 secondi di tempo reale utilizzati da ssh-add prima che venga visualizzato il messaggio "Impossibile aprire ...".

E, sto usando una versione corrente di Windows 7, qui. Inoltre, ho installato cygwin, ma non è sul mio percorso quando utilizzo msys. Task Manager mi mostra che ho solo un'istanza di ssh-agent in esecuzione. L'agente ssh in esecuzione è msys ssh-agent ed è stato avviato dal prompt di bash di msysgit (senza nulla da cygwin in path). La chiave ssh è stata generata utilizzando ssh-keygen di cygwin, ma i test superficiali mi mostrano che le utilità sys di msys non hanno alcun problema con il file. ssh-agent non mi dà messaggi di errore o avvisi.

È possibile utilizzare ssh-agent di cygwin, ma mixando cygwin e msys si introducono altre complessità (e si può vedere un po 'di questo solo dalla mia descrizione di questo problema), e sto cercando di far funzionare msys senza nulla da cygwin.

Cosa devo fare per scoprire perché msys ssh-add non funziona? (Oppure: cosa devo fare per far sì che ssh-add funzioni correttamente?)

risposta

5

Non posso dirti molto sul perché e sul come, ma posso dirti cosa ho provato e cosa finalmente lo ha risolto . In git bash:

exec ssh-agent bash 

Poi (nella shell mutato):

ssh-add 

che hanno lavorato ad un certo punto, ho avuto solo per digitare la password una volta sola, ma ho perso l'aspetto normale. Dopo un po 'di ricerche ho trovato unscript bashrc su this Github help page.