Instalowanie Gitosis na EC2 / Ubuntu

0

Próbuję zmusić gitosis do działania w mojej instancji Ubuntu na EC2. Mam problem z uzyskaniem odpowiedniego klucza do pracy.

I SSH do mojego serwera za pomocą klucza podanego w konsoli AWS: jest to klucz publiczny (przy użyciu opcji SSH IdentityFile). Wszystko dość standardowe. Używam oficjalnego systemu Ubuntu 10.04 AMI.

Instalacja gitosis tworzy nowego użytkownika. Mam dostarczyć klucz publiczny z mojego komputera lokalnego. To nie działa Otrzymuję komunikat „Odmowa zezwolenia (publickey)”.

Próbując naprawić sytuację, próbowałem użyć klucza prywatnego z serwera, aby zainicjować repozytorium lub dodać klucz publiczny do autoryzowanych kluczy utworzonego za pomocą. Udało mi się zbliżyć o jeden krok bliżej, ale potem „śmiertelnie:„ gitosis-admin.git ”nie wydaje się repozytorium git” podczas próby sklonowania repozytorium administracyjnego.

Aktualizacja:

Dowiedziałem się, że problem wystąpił, ponieważ w pliku .ssh / config podałem IdentityFile dla mojego serwera. Kiedy go usunąłem, klonowanie zadziałało. Jednak teraz muszę to określać za każdym razem, gdy próbuję połączyć się z serwerem SSH z poziomu terminala. Czy jest na to jakiś sposób?

zvikico
źródło

Odpowiedzi:

1

Dowiedziałem się, że problem wystąpił, ponieważ w pliku .ssh / config podałem IdentityFile dla mojego serwera. Kiedy go usunąłem, klonowanie zadziałało. Jednak teraz muszę to określać za każdym razem, gdy próbuję połączyć się z serwerem SSH z poziomu terminala. Czy jest na to jakiś sposób?

Parę.

  • Możesz załadować oba klucze do agenta SSH i oba będą używane w razie potrzeby.

    W Ubuntu należy już działać, więc po prostu uruchom ssh-addoba pliki kluczy. (W rzeczywistości komponent kluczy GNOME wydaje się ładować ~/.ssh/id_*automatycznie po zalogowaniu.)

  • Możesz mieć dwie Hostdefinicje ~/.ssh/config: jedną do użytku interaktywnego, drugą dla Git.

    Host mybox
        Hostname foo.domain.tld
        IdentityFile ~/.ssh/ec2-key
    
    Host mybox-git
        Hostname foo.domain.tld
    
    git clone git@mybox-git:gitosis-admin.git
    
  • W niektórych przypadkach Gitosis jest niepotrzebny - gitmoże przepychać i przeciągać SSH bez specjalnej konfiguracji. (Chociaż Gitosis pomaga w autoryzacji w przypadkach wielu użytkowników).

grawitacja
źródło
Dziękuję za pełną odpowiedź. Nadal czegoś nie rozumiem: jeśli wszyscy użytkownicy używają tego samego użytkownika git, jak mogę je rozróżnić w rekordach GIT.
zvikico 30.03.11
@zvikicio: Myślę, że chciałeś zapytać o Gitosis, a nie Git. To Gitosis tworzy gitkonto. Aby rozróżnić właścicieli kluczy, wykorzystuje funkcję OpenSSH, która pozwala wymusić wykonanie różnych poleceń dla różnych kluczy. (Wystarczy uruchomić cat ~git/.ssh/authorized_keys. Przeczytaj także „FORMAT PLIKU AUTORYZOWANEGO KLUCZA” na stronie podręcznika sshd(8), gdzie command=""jest opisany.)
grawity
@zvikicio: Jeśli chodzi o samego Gita, nie obchodzi go konto SSH ani wcale SSH. Nazwa i adres e-mail osoby odpowiedzialnej są rejestrowane w czasie zatwierdzania, zgodnie z ich własną konfiguracją.
grawity
Ciągle jestem zaskoczony SSH, tak wszechstronnym. Dzięki jeszcze raz.
zvikico
@ gzvikico: gitosis jest już stary. powinieneś spróbować bardziej obsługiwanego gitolitu.
Jeff F.