IT이야기

Git용 Jenkins 내에서 SSH 키 관리

cyworld 2021. 10. 23. 09:50
반응형

Git용 Jenkins 내에서 SSH 키 관리


Jenkins를 GitHub 호스팅 리포지토리로 실행하려고 합니다(Jenkins Git 플러그인 사용). 리포지토리에는 여러 git 하위 모듈이 있으므로 여러 배포 키를 시도하고 관리하고 싶지 않습니다.

내 개인 GitHub 사용자 계정은 Jenkins로 가져오려는 각 프로젝트의 공동 작업자이므로 SSH 키를 생성하여 /var/lib/jenkins/.ssh개인 GitHub 계정에 추가했습니다.

그러나 Jenkins 프로젝트 구성에 리포지토리 URL을 추가하려고 하면 다음과 같은 결과가 나타납니다.

Failed to connect to repository : Command "git ls-remote -h git@github.com:***/***.git HEAD" returned status code 128:
stdout: 
stderr: Host key verification failed. 
fatal: The remote end hung up unexpectedly

마찬가지로 빌드를 예약할 때 다음을 얻습니다.

stderr: Host key verification failed.
fatal: The remote end hung up unexpectedly

또한 여기설명된 대로 SSH 구성 파일을 설정하려고 시도 했지만 아무 소용이 없었습니다.

누구든지 빛을 비출 수 있습니까? 감사 해요

편집하다

CentOS 5.8을 실행 중이라고 추가해야 합니다.


github.comJenkins가 연결을 시도 하는 호스트가 Jenkins 사용자의 $HOME/.ssh/known_hosts. Jenkins는 대부분의 배포판에서 사용자로 실행 jenkins되므로 .ssh공개 키 및 known_hosts.

이 문제를 해결하기 위해 생각할 수 있는 가장 쉬운 해결책은 다음과 같습니다.

# Login as the jenkins user and specify shell explicity,
# since the default shell is /bin/false for most
# jenkins installations.
sudo su jenkins -s /bin/bash

cd SOME_TMP_DIR
# git clone YOUR_GITHUB_URL

# Allow adding the SSH host key to your known_hosts

# Exit from su
exit

jenkins 사용자로 로그인을 시도하셨습니까?

이 시도:

sudo -i -u jenkins #For RedHat you might have to do 'su' instead.
git clone git@github.com:your/repo.git

호스트가 추가되거나 인증되지 않은 경우(따라서 github/bitbucket에 대한 첫 번째 연결을 위해 항상 수동으로 hudson/jenkins로 로그인함) 포함된 링크가 문제를 해결하는 것으로 간주되는 경우 종종 실패를 봅니다.

위의 방법이 작동하지 않으면 키를 다시 복사해 보십시오. 공개 키(예: id_rsa.pub)를 확인하십시오. 어쩌면 당신은 일부 캐릭터를 놓쳤습니까?


기사 에 따르면 다음 명령을 시도할 수 있습니다.

   ssh-add -l

키가 목록에 없으면

   ssh-add /var/lib/jenkins/.ssh/id_rsa_project

나를 위해이 작품을 경우는 설정과 개인 키 파일이 /Jenkins/.ssh/ 당신이 필요 대한 Chown 이 2 개 다음 파일 (소유자 변경) 를 다시 시작 이이 개 파일을 읽을 수있는 젠킨스 인스턴스 위해 젠킨스.

ReferenceURL : https://stackoverflow.com/questions/15314760/managing-ssh-keys-within-jenkins-for-git

반응형