2010-07-02 22 views
5

Szukałem i szukałem, jak na to wygląda godziny, rozwiązania tego problemu i niczego, co próbowałem. Pozwolę sobie przed tym wszystkim powiedzieć, że chociaż użyłem * nix wcześniej, jestem raczej noobem, więc jestem pewien, że przegapiłem krok w konfiguracji Git gdzieś.Git wciąż pyta o hasło

Ustawiam system Ubuntu w sieci w miejscu pracy, aby hostować nasze nowe repozytorium Git. W pudełku działa Git, Gitosis, a także ViewGit. Wszystko wydaje się być poprawnie skonfigurowane i mogę wyświetlić repo, które dodałem w ViewGit. Problem polega na tym, kiedy przechodzę do klonowania repo poprzez TortoiseGit w Windows. Kiedy wpisuję adres "[email protected]: /home/git/Plugins/.git/", automatycznie pyta o hasło dla użytkownika "git" w skrzynce linuxowej. Mogę zmienić ten adres z "git @" na dowolną inną nazwę użytkownika w systemie, a także poprosić o hasło dla tego użytkownika. W każdym przypadku wpisanie hasła dla tego użytkownika kontynuuje klon repo do systemu lokalnego. Również rozgałęzianie, wstawianie i ciągnięcie będzie również wymagało podania hasła, a jeśli wprowadzono wszystko funkcjonuje prawidłowo.

Utworzyłem plik pubu RSA na oknach, które wypróbowałem (za pośrednictwem git bash) i zapisałem je w folderze keidir gitosis, a także dodając plik gitosis.conf użytkownika (nazwa pliku rsa minus .pub). Zmodyfikowałem również mój plik sshd_config tak, aby zawierał "AllowUsers git", a także moją nazwę użytkownika w systemie. Brakuje mi, nie wydaje mi się dobrym pomysłem, aby dać każdemu, kto chce mieć dostęp do tego repozytorium, adres IP serwera, nazwę użytkownika, a następnie hasło do tej nazwy użytkownika, aby mogli pobrać kod. Dzięki za pomoc!

Odpowiedz

0

Przeszedłem tę samą rzecz na moim pudełku około 2 tygodnie temu :) Jesteś już w 90% drogi.

Aby naprawić TortoiseGit, odinstaluj i zainstaluj ponownie, ale tym razem wybierz Putty P-Link zamiast OpenSSH. Następnie, gdy idziesz do projektu lub pchasz go, sprawdź małą rzecz "autoload putty key".

+0

To faktycznie pogarsza sprawę. Teraz prosi o podanie zarówno nazwy użytkownika, jak i hasła, gdzie jak poprzednio przynajmniej wymyślił nazwę użytkownika :( – user64718

+0

Również wpisanie nazwy użytkownika i hasła nie pozwala już mi pobrać repozytorium. – user64718

2

Niedawno miałem ten sam problem: mogłem sklonować/popchnąć do repozytorium zarządzanego przez gitozę od Cygwin, ale TortoiseGit ciągle pytał o hasło użytkownika git ([email protected]).

Nareszcie mogłem sprawić, żeby działało, ponownie instalując TortoiseGit (wybrałem opcję Plink w czasie instalacji), następnie w ustawieniach TortoiseGit przejdź do Network> SSH Client i zmień wartość na binarny plik Cygwin ssh (np. C: \ cygwin \ bin \ ssh.exe).

Zmieniając to, mogłem wykonać wszystkie operacje z TortoiseGit i poprosiłem o hasło do SSH, które zdefiniowałem na Cygwin.

Należy także sprawdzić, czy gitosis.conf zawiera klucze publiczne, które są widoczne na Cygwin, usuwając „.pub” rozszerzenie: jeśli mój Cygwin zainstalować pokazuje, że ja jestem myuser @ myhost, powiązany wpis na gitosis .conf powinny być myuser @ myhost i plik z kluczem publicznym powinny być na keydir/[email protected]

0

Przede wszystkim URL użyć do klonowania repo git może być git + ssh jak w twoim przykładzie, http/https lub różne inne rzeczy. Zarówno SSH, jak i HTTP są bardzo powszechne, a ludzie często korzystają z SSH dla uwierzytelnionych użytkowników, którzy będą mogli przesłać do repozytorium, a także HTTP dla innych użytkowników, którzy mogą klonować i wyciągać, ale zazwyczaj nie mogą naciskać lub ograniczać mogą naciskać. Jeśli możesz zobaczyć swoje repozytorium w ViewGit, prawdopodobnie uzyskasz URL HTTP do repozytorium, którego możesz użyć bez logowania się do klonowania lub pobierania.

Teraz, jeśli chcesz kontynuować SSH, są dwie rzeczy, które trzeba spojrzeć na:

Musisz być w stanie połączyć się z serwerem za pomocą protokołu SSH, bez wprowadzania hasła. Jeśli korzystasz z SSH cygwin, powinieneś być w stanie wykonać i połączyć się z tym komputerem bez pytania o hasło. Jeśli używasz PuTTY, powinieneś być w stanie otworzyć PuTTY, wpisać nazwę hosta i zostać poproszony o nazwę użytkownika, ale następnie połączyć się bez hasła (lub użyć odpowiedniej linii poleceń putty). Zwróć uwagę, że gdy to zrobisz, może się zdarzyć jedna z dwóch rzeczy. Albo otrzymasz normalną powłokę na tym komputerze jako użytkownik git. Lub pojawi się krótka wiadomość, coś w stylu "SSH jest poprawnie skonfigurowany do korzystania z git." i połączenie zostanie natychmiast zamknięte.

Jeśli nie możesz tego zrobić, musisz ustawić swój klucz publiczny na serwerze git i załadować swój klucz prywatny do pamięci w skrzynce systemu Windows. Ten pierwszy prawdopodobnie dokonuje się przez gitozę. W przypadku tego ostatniego użyjesz Pageant (jeśli używasz Putty) lub ssh-add, jeśli używasz cygwin ssh. Jeśli musisz, możesz najpierw użyć klucza bez hasła. Spowoduje to usunięcie kroku, w którym musisz ręcznie załadować klucz i wprowadzić hasło. Dopóki nie będziesz mógł się połączyć w ten sposób przez SSH bez hasła, nie przechodź do następnego kroku.

Drugą rzeczą, którą musisz zrobić, to skonfigurować to, co ssh używa twój klient git i jak. Jeśli możesz połączyć się jak wyżej, ale twój klient git nie może się połączyć lub nie może połączyć się bez klona, ​​musisz to ustawić.

Podstawową ideą jest przekazanie TortoiseGit dokładnie, jaka jest linia poleceń do ssh do serwera git. Być może będziesz musiał sprawdzić takie rzeczy jak PATH i zmienne środowiskowe, aby upewnić się, że TortoiseGit może replikować dokładnie, w jaki sposób łączysz się przy użyciu ssh. Ta odpowiedź brzmi: https://stackoverflow.com/a/11249914/1737957.

Powiązane problemy