2012-12-28 3 views
1

젠킨스를 데몬 (Mac OS X 10.7)으로 설치했으며 JENKINS USER로 'real-os-user'을 사용하고 있습니다. gitolite - Jenkins와 git - 액세스 할 수 없습니다.

나는 자식 프로젝트 ( helloworld)와 함께 작업을 구성하려고하지만, 나는 다음과 같은 오류가 발생합니다 :

Failed to connect to repository : Command "git ls-remote -h git-server-name:helloworld HEAD" returned status code 128: 
    stdout: 
    stderr: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,keyboard-interactive). 
    fatal: The remote end hung up unexpectedly 

내가 터미널 창에서 'git ls-remote -h git-server-name:helloworld HEAD'를 실행하면, 그것은 잘 작동합니다.

제가

' env'변수를 출력하고, I는 젠킨스 ' real-os-user'를 사용한다 ..

어떤 아이디어가 될것이다 참조. 감사합니다

+0

문제가 해결되는지 확인하십시오. http://stackoverflow.com/questions/14064502/git-push-gives-permission-denied-publickey-fatal-the-remote-end-hung-up-unex – Siddharth

답변

0

git-server-name:helloworld는 SSH 주소입니다, 그래서 당신은 있는지 확인해야합니다 (작업을 실행할 때) 쉘 세션

  • $HOME/.ssh이 존재보다

    • 젠킨스가 정의한 않습니다 같은 HOME을하고 포함 config 파일, id_rsaid_rsa.pub (개인 및 공개 키) : 테스트 목적으로 helloworld 젠킨스 작업에있는 파일의 존재 여부를 테스트합니다.
    • Siddharth 참고 in the comments 개인 키의 암호 문구가 일 수 있습니다.
      먼저 gitolite에 등록 할 패스 프레이즈가없는 키를 사용해보십시오.

      : (gitolite는 공개 키는 사용자 ID의 이름을 따서 명명 될 것으로 예상 됨)는 사용자의 이름 후 공개 키와 개인 키의 이름을 바꾸 않은 경우, 설정 파일이 새 이름 것을 참조 할 필요가 있음을

    주 설정 파일로

    .ssh 
        real-os-user 
        real-os-user.pub 
        config 
    

    :

    Host git-server-name 
        HostName git-server-name 
        IdentityFile ~/.ssh/real-os-user 
        User git # or whatever account is managing gitolite on the server side 
    

    git ls-remote, 이것은 문제가되지 않을 것을 고려.

  • +0

    감사합니다. 귀하의 의견. – Madhu

    +0

    의견을 보내 주셔서 감사합니다. 1) 'env'변수를 인쇄했습니다. JENKINS_HOME 및 HOME 변수가 표시됩니다. HOME은 실제 사용자 홈 디렉토리를 가리키며 .ssh 폴더를 가지고 있으며 .ssh 폴더를 JENKINS_HOME에 복사하고 시도했지만 운이 없습니다. .ssh 폴더에는 설정 폴더, .pub 및 개인 키와 known_hosts 파일이 있습니다. 2) 패스 프레이즈가없는 키를 사용해 보겠습니다. 나는 그것에 대해 완전히 잊었다. 3) 나는 git 서버로 인증 한 실제 사용자의 이름을 변경하지 않았으므로 그렇게 말한 것은 문제가되지 않습니다. – Madhu

    +0

    암호 문구가없는 키 옵션이 정상적으로 작동했습니다. VonC에 감사드립니다. – Madhu

    관련 문제