2011-09-13 2 views
2

우분투의 Tomcat6 서버에서 WAR 배치로 실행중인 Jenkins의 새 설정이 있습니다. 저도 같은 서버에 Gitosis를 설치했습니다.Tomcat 사용자가 Jenkins 및 Gitosis와 SSH 키를 올바르게 중계하지 않음

저는 젠킨스가 저장소를 빌드하는 작업을 해왔지만, 내 repo 서버에서 Tomcat에 대한 SSH 공개 키 설정을 얻는 데 실패했습니다. 나는 sudo su - tomcat6 명령으로 Tomcat으로 로그인하여 시작했고 ssh-keygen -t rsa을 실행했습니다. 그 후 나는 gitosis repo의 keydir 디렉토리에 id_rsa.pub 키를 복사했습니다. 그래서 여기

내 명령의 기본 개요입니다 :

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

내 다음 단계는 gitosos-관리자의 repo에서 gitosis.conf 파일을 열고 REPOS의 관리자로 나의 새로운 사용자를 추가했다 :

vim ~/gitosis-admin/gitosis.conf 

gitosis.conf :

[group buildserver] 
writable = repo-name 
members = [email protected] 

나는 또한 다른 회원들과 REPO - 남이 e는 내 실제 repo의 이름입니다. 그런 다음 gitosis-admin repo를 리모컨으로 밀어 넣고 다른 repo 사용자로부터 일부 데이터를 전달했습니다.

다른 사용자로부터 내 repo를 읽고 쓸 수 있지만 Tomcat을 사용하려고하면 로그인 할 수 없다는 오류가 발생합니다. 다시 Tomcat으로 로그인을 시도하고 git clone을 수동으로 수행하여 git 서버의 지문을 known_hosts에 추가하고 복제본을 만들 때 git users password를 요청했습니다.

나는 Gitosis로 젠킨스 SSH 키를 얻으려면 뭔가 잘못하고 있습니까? 당신이 단계 누락 된 것 같습니다

답변

1

문제는 공개 키를 복사 했는데도 gitosis가 파일 이름을 [email protected]로 지정해야하는 반면 keydir에서 공개 키인 tomcat6 @ server의 이름을 지정했다는 것입니다.

0

:

서버에 ssh를 술집 키를 복사 한 후

, 당신은 파일에 내용을 추가 할 필요는 ~ /를에

authorized_keys 

을했다. ssh 폴더. 대상 서버에서 간단한 cat id_rsa.pub >> ~/.ssh/authorized_keys을 수행하면 암호없이 로그인 할 수 있습니다.

이 방법이 효과가 있습니까?

+0

그렇게하지 않아도됩니다. gitosis는 gitosis-admin 저장소로 이동할 때 저를 위해 모든 것을 처리합니다. 어떤 이유로 그것은 그것을하지 않지만, 나는 수동으로 authorized_keys에 추가하면 여전히 들어갈 수 없습니다. –

+0

Aah ok. 나는 Gitosis에 대해 많이 모른다. 나는 ssh 관점에서 그것을보고 있었다. 'ssh-copy-id'를 해봤습니까? 비록 Gitosis가 그것을하지 않는다고해도, 적어도 ssh 로그인은 작동해야합니다. – Sagar

+0

아래에서 내 대답에 어떤 문제가 있는지 확인할 수 있습니다. 간단히 말해서 내가 키를 잘못 명명 한 것입니다. –