2010-09-14 19 views
8

Próbuję użyć wtyczki HudsonGerrit Trigger.Tworzenie kluczy SSH dla Gerrit i Hudson

Z jakiegokolwiek powodu Gerrit nie przyjmuje klucza SSH znajdującego się pod numerem /var/lib/hudson/.ssh/id_rsa.

w GUI dostaję Connection error : com.jcraft.jsch.JSchException: Auth fail jako błąd, a kiedy pracuję w terminalu pojawia się błąd Permission denied (publickey).

Jak wygenerować i użyć działającego klucza prywatnego, aby Hudson i Gerrit mogły grać ładnie?

Odpowiedz

9

PO Josh Smith udało się rozwiązać to:

bym rzeczywiście potrzebne, aby dodać klucz SSH z /var/lib/hudson/.ssh/id_rsa.pub dla użytkownika (ME) do Gerrit GUI.
Potem stamtąd zadziałało jak czar.
Nazwa użytkownika musi być nazwą użytkownika w Gerrit (konto administratora).

Moja rada jest oryginalny poniżej:


Jaki jest użytkownik, który będzie korzystać z Web Based system oceny kod Gerrit?

Ten użytkownik potrzebuje publicznego publicznego klucza SSH /var/lib/hudson/.ssh/id_rsa.pub, jak pokazano na this guide.

alt text

Key Distribution

Część publiczna pary kluczy RSA musi zostać skopiowany do wszystkich serwerów, które będą dostępne przez klienta. Klucz publiczny, który ma zostać skopiowany, powinien znajdować się w pliku klienta na kliencie ~/.ssh/id_rsa.pub.
Zakładając, że wszystkie serwery używają OpenSSH zamiast innej implementacji SSH, dane klucza publicznego muszą być dołączone do pliku na serwerach.

# first, upload public key from client to server 
client$ scp ~/.ssh/id_rsa.pub server.example.org: 

# next, setup the public key on server 
server$ mkdir ~/.ssh 
server$ chmod 700 ~/.ssh 
server$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys 
server$ chmod 600 ~/.ssh/authorized_keys 
server$ rm ~/id_rsa.pub 

Koniecznie dołącz nowych kluczowych danych publicznych do pliku authorized_keys, jak wiele kluczy publicznych może być używany. Każdy wpis klucza publicznego musi znajdować się w innym wierszu.


+0

@VonC Przyszedłem pomyśleć, że odpowiadasz na każde pytanie, jakie mam! Równie dobrze mogłabym mieć bezpośrednią linię ... 'hudson' to użytkownik, który powinien używać systemu oceny, ja * myślę *. Wybacz noobness. Masz na myśli to, czy rzeczywisty * ludzki * użytkownik, na przykład 'joshsmith'? –

+0

@Josh: jeśli "hudson" jest użytkownikiem wykonującym połączenie ssh z systemem localhost Gerrit, to potrzebuje on własnego 'id_rsa.pub' dodanego do swojego' ~ hudson/.ssh/authorized_key'. – VonC

+0

@VonC 'hudson' ma swoje własne' id_rsa.pub' w '/ var/lib/hudson/.ssh'. Czy to masz na myśli? –