2012-04-15 12 views
15

Kontynuacja emisji here: próbuję skonfigurować mój pierwszy Git repozytorium na GitHub. (Uwaga, to oznacza, że ​​nie mogę użyć putty, używam openssh, a przynajmniej powinienem i myślę, że jestem). Śledziłem dokumentację na stronie GitHub's here. Dostaję wszystko aż do ostatniego polecenia: git push -u origin master. To daje mi następujący błąd:git serwera hosta nie buforowane w rejestrze - GitHub.com

The server's host key is not cached in the registry. 
You have no guarantee that the server is the computer you think it is. 
The server's rsa2 key fingerprint is: ssh-rsa 2048 
16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48 
Connection abandoned. fatal: The remote end hung up unexpectedly 

Zgaduję, oznacza to, że w moim pliku known_hosts ich ssh-rsa key nie zostanie znaleziony, ale nie jestem pewien, jak to naprawić. Próbowałem już ssh -T [email protected] i loguję się dobrze. Próbowałem też zamknąć git bash i ponownie otworzyć, jeśli jest to problem z pamięcią podręczną. To nie rozwiązuje problemu. Jest to jedyne wyjście, które odbiega od tego, co wskazuje dokumentacja. Mam nadzieję, że uda mi się stworzyć słodką bibliotekę Java Helper Library, więc wszelka pomoc będzie bardzo ceniona!

+0

Dziwne ... tak jak http://stackoverflow.com/questions/10156356/github-the-remote-end-hung-up-nieoczekiwanie/10156776#comment13041705_10156776. To samo pytanie: czy istnieje '$ HOME/ssh/known_hosts'? Czy '$ HOME' (lub'% HOME% 'w sesji DOS' git-cmd.bat') jest dobrze zdefiniowany? (jak pokazano na http://stackoverflow.com/questions/10122439/msysgit-and-ssh-config-missing/10122865#10122865) – VonC

+0

Dlaczego myślisz, że nie możesz kitu? Czy na pewno działa program ssh-agent? Użyłem zarówno Plink.exe, jak i ssh.exe, aby połączyć się z Github. Opublikuj swoją .git/config, jeśli możesz. –

+0

Czy też zdarzyło Ci się ustawić zmienną środowiskową GIT_SSH? –

Odpowiedz

6

Idealnym rozwiązaniem byłoby (jeśli naprawdę nie trzeba używać Plink w git) usunięcie zmiennej środowiskowej GIT_SSH i generuje nową parę kluczy z poleceniem ssh-keygen -t rsa -C "youremail" na Git Bash następnie zmienić ssh klucz w github, ponieważ z tego, co zrozumiałem z komentarzy, jest putty, a openssh jest w konflikcie.

Jeśli jednak nadal chcesz używać puknięcia, możesz użyć PuTTYgen do wygenerowania klucza formatu PuTTY, a następnie zmień swój klucz publiczny w github i załaduj swój klucz prywatny w PuTTYagent, powinieneś połączyć się z github.com z PuTTY to dodaliby odcisk palca githubs do known_hosts i dobrze ci idzie. Byłby to zasób dla github z PuTTY http://nathanj.github.com/gitguide/tour.html

+0

Usunąłem zmienną środowiskową (ponieważ jeśli GitHub mówi prawdę mogę korzystać tylko z OpenSSH) i spróbowałem stworzyć nową parę kluczy. Z powodzeniem dodałem go do mojego konta na GitHub i uwierzytelniłem za pomocą 'ssh -T git @ github.com', ale gdy próbowałem wywoływać' git push -u origin master', dało mi to ponownie błąd 'No supported authentication methods available'. Zgaduję, że to dlatego, że nie mam alternatywy dla pliku plink.exe w moich zmiennych środowiskowych, ale ... tak, jak mogę podać obsługiwaną metodę uwierzytelniania za pomocą OpenSSH? – kentcdodds

+0

Nie mam zmiennej GIT_SSH tak jak moja działa dobrze, ale nie w przypadku, możesz spróbować uruchomić to polecenie w trybie szczegółowym 'git push -vu origin master', który wyświetli informacje debugowania o tym, co naprawdę się nie powiodło. – Learath2

+0

Jedyną zmianą było to, zanim wygenerował błąd, który wypuścił: 'Pushing to [email protected]: kentcdodds/Java-Helper.git' – kentcdodds

6

W systemie Windows wydaje się, że czasami nie można faktycznie zaakceptować klucza hosta serwera.

Spróbuj jednej z następujących poleceń z Shell mocy:

ssh github.com 

Albo

plink.exe -agent github.com 

Run to samodzielna i naciśnij y pytany, aby zaakceptować klucz komputera.

Zastosowanie ssh-add aby dodać swój klucz prywatny do bieżącej sesji Moc Shell:

C:> ssh-add PATH\TO\PRIVATE\KEY 

Następnie powinieneś być w stanie skutecznie działać git push.

Źródło: http://help.github.com/ssh-issues/

+0

'ssh github.com' daje mi' Odmowa uprawnień (publickey) 'i' plink.exe -agent github.com' pyta mnie, czy chcę przechowywać klucz w chache. Mówię "tak", a następnie "login as:" i wypróbowałem moją nazwę użytkownika gitubu, a także nic i oba dają mi błąd "Brak obsługiwanych metod uwierzytelniania". Uwaga, w tej sesji udało mi się uwierzytelnić za pomocą 'ssh -T git @ github.com'. Mam całkowitą stratę ... – kentcdodds

+0

Haha, przepraszam za to, powinienem był wyjaśnić, co się dzieje, gdy próbuję naciskać. Teraz, gdy próbuję 'git push -u origin master' otrzymuję komunikat' FATAL ERROR: Disconnected: Brak dostępnych metod uwierzytelniania wsparcia (serwer wysłany: publickey) 'i rozłącza się. – kentcdodds

+0

Dzięki za edycję. Niestety, kiedy próbuję dodać klucz prywatny wygenerowany z Git Bash, pageant daje mi "Nie mogę załadować tego klucza (klucz prywatny OpenSSH SSH-2)". Tylko dla kopnięć spróbowałem pliku klucza publicznego i napisałem "Nie można załadować tego klucza (nie klucz prywatny)". Kiedy próbuję dodać klucz, plik, którego szuka, to plik klucza prywatnego PuTTY (* .ppk). Mój klucz prywatny wygenerowany przez Git Bash nie ma rozszerzenia pliku, a klucz publiczny ma rozszerzenie pubu ... Ponadto jestem pewien, że mój prywatny klucz ma być OpenSSH, a nie PuTTY (zgodnie z dokumentacją github.com)). – kentcdodds

15

Używanie git-for-windows z GIT_SSH wskazującym na plink.exe, otwieranie putty na serwerze i akceptowanie klucza hosta (a następnie zabijanie sesji putty, nawet nie kontynuowanie z logowaniem) wystarczało, aby rozwiązać ten problem.

2

Dodanie informacji do wpisu @Name (ze względu na kompletność), ponieważ właśnie miałem (ponownie) ten numer dzisiaj.

Putty przechowuje swoje SSH znanych hostów in a registry key, a nie w pliku ~/.ssh/known_hosts, jak SSH. Aby Git działał z PLink i Pagent, wystarczy uruchomić sesję Putty na zdalnym serwerze Git i zaakceptować klucz. W ten sposób nie będziesz mieć tego komunikatu ponownie.

Jest to niepokojące, ponieważ musisz dwa razy zaakceptować klucz SSH: jeden do SSH-ing serwera, jeden do Putty/Plink/Pagent, ale gdy to zrobisz, działa jak czar.

Powiązane problemy