2011-12-18 11 views
5

Mam zainstalowany program msysgit: Git-1.7.8-preview20111206.exe z http://code.google.com/p/msysgit/downloads/list (Edycja: Zainstalowałem również plik msysGit-fullinstall-1.7.8-preview20111206.exe, który wygodnie instaluje się w innym katalogu i widzę same problemy z tą instancją).Jak wyizolować problemy z ssh-add/ssh-agent dostarczone w implementacji msys, która pochodzi z msysgit?

Mam problem z programem ssh-agent, gdzie ssh-add zawsze zgłasza:

Niestety, ssh-add nie podaje mi dalszych szczegółów na temat napotkanego błędu. Wydaje się, że upływa limit czasu, gdy próbuje się połączyć z gniazdem, ale tak naprawdę nie przyznaje, że to jest problem, a ssh-agent działa tak, jak działa normalnie. Myślenie o tej kombinacji sprawia, że ​​podejrzewam problem z uprawnieniami, ale nie mam pojęcia, gdzie chciałbym zbadać tego rodzaju problem (i nie widzę niczego, co uznaję za znaczące w dzienniku zdarzeń systemu Windows).

Ten komunikat o błędzie zdumiewa mnie: mam powody, by sądzić, że mogę otrzymać ten komunikat o błędzie, jeśli moje zmienne środowiskowe nie zostały poprawnie skonfigurowane, ale mam powody, by uważać, że moje zmienne środowiskowe są ustawione prawidłowo. Mam powody, by sądzić, że mogę otrzymać ten komunikat o błędzie, jeśli moje zmienne środowiskowe odwołują się do instancji ssh-agent, która nie działa, ale mam dokładnie jedną instancję ssh-agent i pasuje do tego, co widzę w zmiennych środowiskowych . I to jest powtarzalne. Rozpocząłem (i ostatecznie zamknąłem) dziesiątki instancji ssh-agent, używając takich technik, jak ssh-agent > ~/.ssh/environment; . ~/.ssh/environment, i eval `ssh-agent` i ssh-agent bash itd. I nie mogę uzyskać mss ssh-add, aby połączyć się z 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$ 

Nie jestem zaniepokojony ze skryptów nic, tylko jeszcze - Uważam, że jeśli mogę ssh-add działa z wiersza poleceń, które mogę skrypt go ...

i zanotować również, że 10 sekund czasu rzeczywistego, które ssh-add używa, zanim wyda komunikat "Nie można otworzyć ...".

Używam aktualnej wersji systemu Windows 7, tutaj. Mam również zainstalowane cygwin, ale nie jest to na mojej drodze, gdy używam msys. Menedżer zadań pokazuje mi, że mam tylko jedno wystąpienie ssh-agenta. Działający ssh-agent to msys ssh-agent i został uruchomiony z wiersza poleceń msysgit (bez niczego z cygwin w ścieżce). Klucz ssh został wygenerowany za pomocą ssh-keygen cygwin, ale powierzchowne testy pokazują, że narzędzia mssh ssh nie mają problemu z plikiem. ssh-agent nie daje mi żadnych komunikatów o błędach ani ostrzeżeń.

Mogę użyć ssh-agenta cygwin, ale miksowanie cygwin i msys wprowadza inne komplikacje (i możesz to zobaczyć właśnie z mojego opisu tego problemu) i próbuję sprawić, żeby msys działał bez niczego od cygwin.

Co muszę zrobić, aby dowiedzieć się, dlaczego ssh-add msys nie działa? (Albo: co muszę zrobić, aby ssh-add działał poprawnie?)

Odpowiedz

5

Nie mogę powiedzieć wiele o tym, dlaczego i jak, ale mogę powiedzieć, co próbowałem i co ostatecznie rozwiązałem . W git bash:

exec ssh-agent bash 

Następnie (w zmienionej shell):

ssh-add 

To działało do pewnego stopnia, miałem tylko wpisać hasło raz, ale przegrałem normalny wygląd. Po dalszych poszukiwaniach znalazłem.skrypt bashrc na this Github help page.

Powiązane problemy