2013-03-16 12 views
5

Używam gitlab-shell do zarządzania połączeniami git i tu jest mój problem:gitlab-shell -> git push origin master -u -> śmiertelne: Zdalny koniec rozłączył się niespodziewanie

$ git push -v -u origin master 
Pushing to [email protected]:monProjet.git 
fatal: The remote end hung up unexpectedly 

# tail -f /var/log/auth.log 
Mar 15 15:53:12 my-srv sshd[3133]: Accepted publickey for git from my-ip port 50790 ssh2 
Mar 15 15:53:12 my-srv sshd[3133]: pam_unix(sshd:session): session opened for user git by (uid=0) 
Mar 15 15:53:12 my-srv sshd[3285]: Received disconnect from my-ip: 11: disconnected by user 
Mar 15 15:53:12 my-srv sshd[3133]: pam_unix(sshd:session): session closed for user git 

Więc wszyscy mówią, że to druga wina ?! Jak mogę uzyskać więcej informacji na temat wymiany sieci Git/ssh?

+0

'ssh -vT git @ git.my-srv.fr'? – adamdunson

+0

Oto wynik (jest zbyt długi, aby skopiować go w komentarzu) http://pastebin.com/TUsj8aSA – GammaNu

Odpowiedz

12

Próbowałem to: $ ssh -vT [email protected]

ja zobaczyć w dzienniku http przekierowanie 301. (mój serwer proxy przekierowanie http na https)

mam poprawne to w gitlab-shell config, plik: /home/git/gitlab-shell/config.yml

# Url to gitlab instance. Used for api calls 
gitlab_url: "https://git.my-srv.fr/" 

nowy komunikat o błędzie została weryfikacja certyfikatu SSL (fail m Certyfikat jest auto-y podpisane bez 3. części autority)

więc już zmodyfikowany /home/git/gitlab-shell/lib/gitlab_net.rb dodać to:

http.verify_mode = OpenSSL::SSL::VERIFY_NONE if (http.use_ssl?) 

między te linie:

http.use_ssl = (url.port == 443) 
http.verify_mode = OpenSSL::SSL::VERIFY_NONE if (http.use_ssl?) 
request = Net::HTTP::Get.new(url.request_uri) 

jak opisują na tej gitlab-shell zamknięte wyciągnąć wniosek (i wydania) https://github.com/gitlabhq/gitlab-shell/pull/9

A tutaj jest oryginalna zawartość commit: https://github.com/jcockhren/gitlab-shell/commit/846ee24697f386cd9fcbc4ab1a7fb8ae1ccb46ee

+0

To pomogło mi, przegłosować dla ciebie. – Drewman

1

Miałem dokładnie takie samo zachowanie w mojej instalacji gitlab. W moim przypadku był to problem z certyfikatami ssl. Trudno było złapać, ponieważ:

https://gitlab.example.com ==> padlock shows up, everything seems OK 
openssl s_client -connect ==> Verify return code: 21 (unable to verify... 

Od gitlab używa OpenSSL zweryfikować połączenia SSL, to wychodzi śmiertelne kiedy openssl narzeka. Problem został rozwiązany poprzez stworzenie „prawidłowy” cert dla mojego serwera gitlab.example.com przez wklejanie:

ROOT-issuers-cert 
Intermediate-cert 
cert-for-example.com 

w jeden plik tekstowy.

5

Od wersji 5.4 można edytować na gitlab-shell/config.yml

self_signed_cert: true

0

W przypadku gdy ktoś przychodzi do tego wątku jak ja szukają od błędu ..

To jasne błąd przybywa kiedy git nie może uzyskać dostępu do serwera WWW gitlab . Dla mnie było to uwierzytelnianie użytkownika http, które założyłem nginx. Po usunięciu błąd zniknął.

Powiązane problemy