2015-11-23 12 views
5

Gitlab.com ma opcję odzwierciedlenia innych repozytoriów na swojej stronie. (Projekt -> Ustawienia projektu -> Repozytorium lustrzane)Czy można zindeksować prywatne repozytorium na gitlab.com przy użyciu protokołu SSH?

Ale kiedy próbowałem to zrobić przy użyciu protokołu ssh, autoryzacja nie powiodła się, ponieważ repozytorium, które chciałem sklonować, nie rozpoznało klucza publicznego Gitlab.com .

Strona stwierdził:

Jeśli repozytorium SSH nie jest publicznie dostępne, dodać klucz SSH publicznego serwera GitLab do zdalnego repozytorium.

Chodzi o to, że nie mogłem znaleźć opcji dodania klucza prywatnego do Gitlab.com lub pobrania klucza publicznego z Gitlab.com.

Czy jest to możliwe tylko jeśli posiadasz własny serwer GitLab lub coś przeoczyłem?

Odpowiedz

1

Nie jestem pewien, czy to zadziała, ale sądzę, że warto spróbować. Aby odzyskać klucz publiczny gitlab.com, wpadłem następujące polecenie:

nmap gitlab.com --script ssh-hostkey --script-args ssh_hostkey=all 

następujące 3 klucze publiczne mogą być znalezione w wyjścia:

ssh-dss AAAAB3NzaC1kc3MAAACBAMPKInNPflcRle9F5Qt2j9aI0EZuWQzdXTbYvsl+ChaacqCOWRMiOmXHXqetFz6jD/6Fcqg20ZATxqSskQBaRn97O/mbH+GQk4d3zw9WAEURicE8rKJop3qGtdfFxLzrTuPAkKRDMmutT3hwZIOO8CFWOl1BiuUYTncJTeonrfAAAAFQCujauoy3Yy+ul72b/WsTECUPj9yQAAAIBIV2yyF7RZf7IYS8tsWcKP7Y5Bv9eFdbvbtsaxcFCHcmHIGoJQrIdPoueoOb5EUTYz0NgYKsKaZzDZkgFk28GsmLxKvhnPjaw0lJVSKRchEE5xVlamOlabiRMjQ7X/bAdejkBJe96AjZZL3UO4acpwfy3Tnnap0w6YCDeaxoyHpwAAAIAU+dyNaL3Hy15VIV32QwWMekvxeptUY/W03LNcgZZDoin87TE9xuQhM0qF3pi2i2a2ExuslgdttmYWvrbEz8eW+RFgvT5pKwWpalKWetHvtN3oYZP37ZIO1Y3Hd5A4YVcpYp1ccRayveLlCRwxb4HdGXT2OmYU+lmvimIR8zQ6A== 

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsj2bNKTBSpIYDEGk9KxsGh3mySTRgMtXL583qmBpzeQ+jqCMRgBqB98u3z++J1sKlXHWfM9dyhSevkMwSbhoR8XIq/U0tCNyokEi/ueaBMCvbcTHhO7FcwzY92WK4Yt0aGROY5qX2UKSeOvuP4D6TPqKF1onrSzH9bx9XUf2lEdWT/ia1NEKjunUqu1xOB/StKDHMoX4/OKyIzuS0q/T1zOATthvasJFoPrAjkohTyaDUz2LN5JoH839hViyEG82yB+MjcFV5MU3N1l1QL3cVUCh93xSaua1N85qivl+siMkPGbO5xR/En4iEY6K2XPASUEMaieWVNTRCtJ4S8H+9 

_ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFSMqzJeV9rUzU4kWitGjeR4PWSa29SPqJ1fVkhtj3Hw9xjLVXVYrU9QlYWrOLXBpQ6KWjbjTDTdDkoohFzgbEY= 

Dodanie ich do serwera repozytorium może pozwól mu poprawnie uwierzytelnić połączenie.

+2

Przetestowałem (dodano klucz RSA), ale nie zadziałało. – Tijmen

7

Gitlab mirroring feature jest implemented recently on Nov 2015 ale niestety jest on dostępny tylko dla Gitlab Enterprise Edition:

Repository Mirroring (EE) Jeśli chcesz zachować lustrzaną kopię repozytorium w instancji GitLab można Teraz GitLab obsługuje automatyczne tworzenie kopii lustrzanych w GitLab Enterprise Edition.

Sprawdź the features comparison między Editions Wspólnoty i Enterprise Albo poprosić EE lub użyj gitlab-mirrors skrypty:

Projekt gitlab-lustra jest przeznaczony do wypełnienia w funkcji, która jest obecnie brakuje GitLab: zdolność do mirrorowania odległych repozytoriów. gitlab-mirrors tworzy tylko do odczytu kopie zdalnych repozytoriów w gitlab. Udostępnia interfejs zarządzania CLI do zarządzania repozytoriami lustrzanymi (np. Dodawanie, usuwanie, aktualizowanie), aby administrator mógł regularnie aktualizować wszystkie kopie lustrzane za pomocą crontab. Działa poprzez interakcję z GitLab API przy użyciu Pythona-gitlab3. Sprawdź również ten fajny moduł lalkowy do instalacji i konfiguracji gitlab-mirrors.

+0

Wiem, że edycja społecznościowa nie ma automatycznego dublowania. [Gitlab.com] (https://obout.gitlab.com/gitlab-com/) działa jednak w wersji Enterprise. [Źródło] (https://obout.gitlab.com/gitlab-com/) – Tijmen

+0

@ Tijmen jakie błędy pokazują ci? Próbowałem https pracował, ssh z github powiedział github nierozwiązany –

+0

Błąd: Repozytorium nie udało się zaktualizować dzień temu. conq: odmowa dostępu do repozytorium. klucz wdrożenia nie jest powiązany z żądanym repozytorium. fatal: Nie można odczytać z zdalnego repozytorium. Upewnij się, że masz prawidłowe prawa dostępu i istnieje repozytorium. – Tijmen

0

Według this comment, klucz jest w /var/opt/gitlab/.ssh/id_rsa i /var/opt/gitlab/.ssh/id_rsa.pub domyślnie. Jeśli klucze nie istnieją, możesz je utworzyć ręcznie za pomocą sudo -u git -H ssh-keygen i zacierując klawisz Enter za pomocą promptów.

Po prostu wypróbowałem to na mojej instalacji gitlab-ee 8.7.2 i wygląda na to, że działa.

+3

Co niestety ma znaczenie tylko wtedy, gdy prowadzisz własną instalację gitlab-ee. – BM5k

Powiązane problemy