Создание ключей SSH для Геррита и Хадсона - PullRequest
8 голосов
/ 15 сентября 2010

Я пытаюсь использовать плагин Hudson Gerrit Trigger.

По какой-то причине Gerrit не принимает ключ SSH, расположенный в /var/lib/hudson/.ssh/id_rsa.

В графическом интерфейсе я получаю Connection error : com.jcraft.jsch.JSchException: Auth fail как ошибку, а когда я работаю в терминале , я получаю ошибку Permission denied (publickey).

Как мне сгенерировать и использовать рабочий закрытый ключ, чтобы Hudson и Gerrit могли играть хорошо?

1 Ответ

10 голосов
/ 15 сентября 2010

ОП Джошу Смиту удалось разобраться:

Мне действительно нужно было добавить ключ SSH из /var/lib/hudson/.ssh/id_rsa.pub для пользователя (меня) в графический интерфейс Gerrit.
Тогда оттуда это работало как очарование.
Имя пользователя должно быть именем пользователя в Gerrit (учетная запись администратора).

Мой оригинальный совет ниже:


Какой пользователь будет использовать веб-систему анализа кода Gerrit?

Этот пользователь нуждается в вашем /var/lib/hudson/.ssh/id_rsa.pub открытом ssh-ключе в $HOME/.ssh/authorized_keys, как показано в этого руководства .

alt text

Распределение ключей

Открытая часть пары ключей RSA должна быть скопирована на любые серверы, к которым клиент получит доступ. Информация открытого ключа, которая должна быть скопирована, должна быть расположена в файле ~/.ssh/id_rsa.pub на клиенте.
Предполагая, что все серверы используют OpenSSH вместо другой реализации SSH, данные открытого ключа должны быть добавлены в файл ~/.ssh/authorized_keys на серверах.

# 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

Обязательно добавьте новые данные открытого ключа в файл authorized_keys, так как может использоваться несколько открытых ключей. Каждая запись открытого ключа должна быть в отдельной строке.


...