Пользователь Tomcat неправильно передает ключ SSH с помощью Jenkins и Gitosis - PullRequest
2 голосов
/ 14 сентября 2011

У меня есть новая установка Jenkins, работающая как развертывание WAR на сервере Tomcat6 в Ubuntu.На этом же сервере я также установил Gitosis для всех своих репозиториев.

Я работал над тем, чтобы заставить Дженкинса построить репозитории, но мне не удалось получить настройку открытого ключа SSH для Tomcat.на моем сервере репо.Я начал с входа в систему как Tomcat с командой sudo su - tomcat6 и запустил ssh-keygen -t rsa.После этого я скопировал ключ id_rsa.pub в каталог keydir в репозитории gitosis.

Итак, вот краткое изложение моей команды:

sudo su - tomcat6
ssh-keygen -t rsa -C "tomcat6@trogdorsrv"
exit # Get back to my user
sudo cp /usr/share/tomcat6/.ssh/id_rsa.pub ~/gitosis-admin/keydir/tomcat6@trogdorsrv

Следующим моим шагом было открытиеgitosis.conf файл в репозитории gitosos-admin и добавьте моего нового пользователя в качестве администратора репо:

vim ~/gitosis-admin/gitosis.conf

gitosis.conf:

[group buildserver]
writable = repo-name
members = tomcat6@trogdorsrv

У меня также есть другие участники иимя репо - это имя моего настоящего репо.Затем я перенес репозиторий gitosis-admin на удаленный компьютер и передал ему некоторые данные от другого пользователя репо.

Я могу читать и писать в свой репозиторий от других пользователей, но когда я пытаюсь использовать Tomcat, я получаю сообщение об ошибке, что он не может войти.Я снова попытался войти в систему как Tomcat и вручную выполнить клон git, чтобы отпечаток сервера git был добавлен к known_hosts, а когда я сделал клон, он попросил у меня пароль пользователя git.

Так я что-то делаюнеправильно вводить ключи Дженкинса SSH в Gitosis?

Ответы [ 2 ]

1 голос
/ 14 сентября 2011

Проблема заключалась в том, что я назвал свой открытый ключ tomcat6 @ server в keydir, тогда как gitosis требует, чтобы файл имел имена tomcat6@server.pub, чтобы использовать его, даже если я скопировал открытый ключ.

0 голосов
/ 14 сентября 2011

Похоже, вы пропустили шаг:

После того, как вы скопируете ключ ssh на сервер, вам нужно добавить его содержимое в файл с именем

authorized_keys

в папке ~ / .ssh. Просто выполните cat id_rsa.pub >> ~/.ssh/authorized_keys на целевом сервере, и вы сможете войти без пароля.

Это работает?

...