2010-02-24 18 views
13

Konfiguruję git na moim nowym komputerze z Windows 7 i trafiam na blokadę, jeśli chodzi o uzyskanie githubu, aby potwierdził mój klucz ssh. Robię rzeczy nieco odmienne od standardowego scenariusza, ponieważ wolałbym nie używać cygwin i wolę używać mojej zachęty Power Shell. Oto co zrobiłem:Łączenie git z githubem w systemie Windows 7 bez bashu

  1. Zainstalowałem msysgit (portable).
  2. Poszedłem do C: \ program files \ git \ bin i użyłem ssh-keygen do wygenerowania publicznego/prywatnego klucza ssh, który umieściłem w c: \ Temp
  3. Następnie utworzyłem katalog o nazwie .ssh \ in c : \ Users \ mojanazwa \ (Windows 7)
  4. przeprowadziłem zarówno plików generowanych przez ssh-keygen (id_rsa i id_rsa.pub) do katalogu .ssh
  5. poszedłem do mojego konta na github, utworzony nowy klucz publiczny, kopia wklejono zawartość id_rsa.pub do niego i zapisano
  6. Teraz idę do mojego wiersza polecenia powershell, ustaw alias git 'C: \ program files \ git \ bin \ git.exe'
  7. Próbuję teraz zrobić klon [email protected]: togakangaroo/ps-profile.git, który odrzuca moje uwierzytelnienie:

    Odmowa uprawnień (publickey). śmiertelne: Zdalny koniec rozłączył się niespodziewanie

Dotychczasowe doświadczenia mówi, że oznacza to git nie rozpoznaje klucza. Jakie kroki mi brakuje?

Mam przeczucie, że muszę jakoś skonfigurować git, żeby wiedział, gdzie są moje klucze ssh (choć wydaje się, że powinien tam wyglądać automatycznie), ale nie wiem, jak to zrobić.

Inną możliwą wskazówką jest to, że gdy próbuję uruchomić git config --global user.name „George Mauer” pojawia się błąd

fatal: $HOME not set 

zrobiłem jednak skonfigurować zmienną środowiskową użytkownika domu z wartość% HOMEDRIVE %% HOMEPATH%

Odpowiedz

8

komenda szukasz jest: ssh-add C:\path\to\key

po pierwsze, może chcesz się dowiedzieć, gdzie ssh jest obecnie szuka kluczy, uruchamiając ssh -v [email protected]

+0

są ssh i ssh-add narzędzia, które znajdują się w katalogu git \ bin? Nie używam bash tutaj –

+0

Przepraszam, mówiłam za wcześnie, widzę, że oni tam są. Rozumiem, kiedy uruchamiam ssh: http://pastebin.com/G6FPN9Jak to na świecie ma sens? –

+0

Wygląda na to, że ssh szuka kluczy w C: \ program files \ git \ bin \ .ssh. Najprostszym rozwiązaniem byłoby skopiowanie kluczy do tego katalogu. Ale jeśli podoba Ci się, gdzie są, uruchom polecenie ssh-add c: \ Users \ myusername \ .ssh. –

12

Miałem ten sam problem. Przypadkowo dodano nieprawidłowy katalog do ścieżki.

Po zmianie tego z *\Git\bin\ na *\Git\cmd\ wszystko działało.

git.cmd konfiguruje zmienne środowiskowe.

+0

Dzięki, pomogło. Teraz 'git push origin develop' poprawnie pyta mnie o hasło mojego klucza SSH. Również plik wewnątrz '* \ Git \ cmd' nazywa się' git.exe'. Nie utworzyłem ścieżki samodzielnie, więc domyślam się, że wybrałem niewłaściwą opcję podczas instalacji msysgit - w pewnym momencie pyta cię, skąd chcesz go użyć, 'cmd',' git bash', itp. – Lumen

0

miałem problem, ale było to spowodowane przez program Internet Explorer 8.0.7600 mającego błąd JavaScript kiedy próbuje wykonać „dodaj klucz” funkcjonalność przycisku na moim logowania GitHub „Ustawienia konta” strona "Klucze publiczne SSH".Oznaczało to, że klucz dodawania nie powiódł się, a klucz nie został wymieniony na stronie kluczy publicznych nad łączem "Dodaj kolejny klucz". Przełączyłem się na Firefox.

7

Mam ten sam problem, to ustalona przez oddanie id_rsa * plik na C:\Program Files\Git\.ssh folderze

+2

Wypróbowałem wszystko inne ale na próżno. Pomyślałem, że też to wypróbuję ... To zadziałało! Dziękuję Ci! –

+0

pracował dla mnie! – leosok

9

Moje rozwiązanie

„Nie można otworzyć połączenia do swojego agenta uwierzytelniania.”

błąd w systemie Windows 7 był najpierw uruchomić ssh -v [email protected] w konsoli git bash, aby dowiedzieć się, jaki rodzaj pliku klucza publicznego Github szukałem. Nazwa pliku, którą widziałem, to id_rsa.

Potem oglądany folder c:\users\username\.ssh w Eksploratorze Windows i zauważył, że podczas gdy nie było pliku id_rsa, nie było github_rsa i github_rsa.pub.

Skopiowanie tych plików do folderu c:\users\username\.ssh i zmiana nazwy kopii na id_rsa i id_rsa.pub odpowiednio rozwiązały problem.

Byłem wtedy w stanie przekazać lokalne zatwierdzenia do repozytorium na Github.

1

Miałem ten sam problem z PowerShell przez ~ 3 godziny.

Wystarczy ustawić zmienną HOME być

C:\Users\Your Username 

i ponownie PowerShell. Następnie upewnij się, że wszystkie klucze i wszystkie pasują do siebie.

0

O ile nie jest to absolutnie konieczne, nie polecam używania przenośnego mysysgita. To działało prawie od razu po zainstalowaniu, używając normalnego zainstalowanego mysysgit.

Jednak niedawno ustawiłem to na nowym komputerze z systemem Windows i wpadłem na podobny problem. Naprawiono to, konwertując mój klucz SSH z plink na klucz kompatybilny z OpenSSH i przenosząc go do osobistego folderu .ssh. Potem zadziałał urok!

Zainteresowanych see here

Powiązane problemy