2012-03-26 17 views
5

Z góry przepraszam za podstawowe pytanie - Jestem nowy i wiem, że brakuje mi czegoś bardzo łatwego, że ktoś może szybko odpowiedzieć.Konfigurowanie msysgit do użycia putty/plink

Podczas instalacji msysgit określiłem, że chciałbym użyć PLink zamiast OpenSSH jako mojego programu klienta powłoki bezpieczeństwa. Zmienna środowiskowa "GIT_SSH" jest ustawiona na "C: \ Program Files (x86) \ PuTTY \ plink.exe", która jest poprawną ścieżką do pukania. Próbowałem z cytatami i bez nich. "echo $ GIT_SSH" z wiersza poleceń bash wyświetla poprawną wartość zmiennej środowiskowej. Jestem również w stanie połączyć się z Github przez SSH za pomocą putty bez żadnych problemów.

Po uruchomieniu pagentu i dodaniu mojego klucza prywatnego otworzyłem nowe okno git bash i próbowałem połączyć się z githubem (github ma już mój klucz publiczny i jest poprawnie skonfigurowany - używam projektu jquery jako szybki test) . Pomimo określenia, że ​​chcę używać PLink i najwyraźniej po ustawieniu poprawnych zmiennych środowiskowych, program msysgit nadal próbuje użyć plików kluczy znajdujących się w katalogu ~/.ssh.

Potwierdziłem to, umieszczając mój klucz prywatny w tym katalogu i wszystko działało idealnie (udało mi się sklonować repozytorium jquery bez żadnych problemów), ale naprawdę chciałbym skonfigurować tę konfigurację Mogę zarządzać kluczami prywatnymi za pomocą szpachlówki, jeśli to możliwe.

Nie jestem pewien, czego mi brakuje. Każda pomoc jest bardzo doceniana - z góry dziękujemy!

Odpowiedz

6

Miałem podobne problemy i rozwiązaniem jest to, że musisz używać "pukania", a nie "ssh".

Więc następujące polecenia (z wiersza bash) powinny pracować dla Ciebie (zakładając, że już tylko konfiguracja GitHub SSH key):

$ echo $GIT_SSH 
C:\Program Files (x86)\PuTTY\plink.exe 

$ "$GIT_SSH" -V 
plink: Release 0.62 

$ "$GIT_SSH" -ssh [email protected] 
Using username "git". 
Server refused to allocate pty 
Hi [your-github-username]! You've successfully authenticated, but GitHub does not provide s 
hell access. 

Jeśli wystarczy uruchomić "$GIT_SSH" to będzie wydrukować argumentów, które można posługiwać się. Komenda -ssh zmusza PuTTY do korzystania z protokołu ssh.

Jeśli masz C:\Program Files (x86)\PuTTY\ w ścieżce następnie powinien po prostu być w stanie uruchomić plink -ssh [email protected]

Powodem tego jest to, że polecenia ssh używa OpenSSH i OpenSSH nie rozpoznaje klucze Putty.

plink.exe jest faktycznie wymieniony w pierwszym rozwiązaniu w most up voted answer for Git/PuTTY configuration questions, jego trudno jest zauważyć.

1

Dla mnie rozwiązaniem było, że droga musiała być określona w stylu linux, tak:

set GIT_SSH=/c/PuTTY/plink.exe 

który był dość mylące, ponieważ jestem ustawiając zmienną środowiskową w składni Windows, ale wartość jest Linux ścieżka stylu.

Kluczowy punkt jest:

echo $GIT_SSH 
C:\Program Files (x86)\PuTTY\plink.exe <-- not a valid path in bash shell