Mam problemy z Gitlab. Skorzystałem z poniższego przewodnika, aby zainstalować i skonfigurować Gitlab https://github.com/gitlabhq/gitlab-recipes/blob/master/install/centos/README.md . Instalacja zdawała się iść dobrze. Wygląda na to, że aplikacja internetowa działa dobrze. Jednak nie jestem w stanie klonować, ciągnąć, pchać, w zasadzie nie mogę używać Gitlab. Podczas próby klonowania przez SSH widziałem błędy 403 z HTTP i odmową dostępu.
Upewniłem się, że moje klucze prywatne są poprawnie skonfigurowane zarówno w systemie Windows, jak i OS X. Widzę klucze publiczne na serwerze. Dodałem następujące do mojego pliku konfiguracyjnego w ~ / .ssh.config
Host {hostname}
User git
Hostname {hostname}
PreferredAuthentications publickey
IdentityFile C:/Users/{username}/.ssh/id_rsa
Oto co widzę w / var / log / secure
Jan 14 17:31:48 dev_version_control sshd[3696]: Connection closed by 192.168.17.113
Jan 14 17:32:18 dev_version_control sshd[3700]: Connection closed by 192.168.17.113
/var/log/message
Nie rolę, gdy próbowałem przy użyciu git lub ssh
Nie jestem pewien, dokąd się udać. Jakieś sugestie?
Nie wiem, co masz na myśli przez SSH przy użyciu nazwy użytkownika git. Przewodnik, którego użyłem, nie utworzył hasła dla użytkownika git i stwierdził, że nie można użyć tego użytkownika do zalogowania się.
Odpowiedzi:
Pod warunkiem, że załadowałeś swój klucz prywatny do klienta, wygląda na to, że może to być problem z uprawnieniami w katalogu osobistym użytkownika „git” i katalogu .ssh.
Spróbuj zmienić katalog / home / git na maskę 0711:
Upewnij się, że katalog /home/git/.ssh ma maskę 0700:
Upewnij się, że plik /home/git/.ssh/authorized_keys ma maskę 0600:
Zamień / home / git na dowolny katalog domowy użytkownika „git”, jeśli w samouczku było inaczej. Jeśli to nie są uprawnienia, prosimy o komentarz, a my zobaczymy, co jeszcze może być przyczyną problemu.
źródło
https://username:[email protected]/repo.git
)Sprawdź, czy masz tylko jeden rekord dla klucza publicznego (który został zaimportowany przez stronę internetową),
/home/git/.ssh/authorized_keys
a ten klucz ma prefiks i tytuł gitlab. Innymi słowy, jeśli ręcznie dodałeś ten sam klucz przed instalacją gitlab, usuń go.źródło
Polecam również sprawdzić, czy użytkownik ma odpowiednie uprawnienia do klonowania / ciągnięcia / wypychania w gitlab. Po prostu spędzam zbyt dużo czasu na przeglądaniu konfiguracji ssh / https, gdy przyczyną problemu był brak wystarczających uprawnień w gitlab ...
źródło
W mojej sytuacji zainstalowałem gitlab poprzez pakiety FreeBSD. Gitlab SSH nie działał. Przyczyną tego był niewłaściwy katalog domowy git: (vipw)
Zmieniłem to na:
źródło
Może się to zdarzyć, jeśli host ma w nazwie „-”. (Mimo że jest to zgodne z RFC 952 ).
ssh monituje mnie o podanie hasła dla każdego hosta, który ma w nazwie znak „-”. Wydaje się, że jest to wyłącznie problem z analizowaniem plików konfiguracyjnych ssh, ponieważ dodanie aliasu do ~ / .ssh / config (i użycie tego aliasu w moich zdalnych adresach URL git) rozwiązało problem.
Innymi słowy, spróbuj umieścić coś takiego jak poniżej w swoim C: / Users / {nazwa użytkownika} / .ssh / config
i gdzie masz pilota formularza
usuń go, a następnie ponownie dodaj za pomocą formularza
źródło
Jeśli używasz zmiennych środowiskowych do przekazania klucza, powinieneś zakodować je base64, w przeciwnym razie prawdopodobnie nie powiedzie się z powodu błędu z prośbą o podanie hasła. Oznacza to, że klucz jest uszkodzony. Jeśli zobaczysz:
Następnie base64 koduje zmienną SSH_PRIVATE_KEY. Jeśli korzystasz z systemu OS X,
zakoduje go i skopiuje do schowka. Teraz zmień wiersz skryptu .gitlab-ci.yml na
źródło
Uruchomienie
eval $(ssh-agent)
naprawiło mój problem.źródło
Mój problem polegał na tym, że plik kluczy prywatnych id_rsa utworzony i zapisany przez puttygen ma inny format niż ten utworzony z maszyny Ubuntu. Po utworzeniu pary kluczy z komputera ubuntu skopiuj te pliki z powrotem na komputer z systemem Windows w folderze% UserProfile% .ssh, a następnie dodaj nowy wygenerowany klucz publiczny do Gitlab. Nie odmówiono mi już pozwolenia
źródło