공부/Git

jenkins Failed to connect to repository - private repository 안됨

작은소행성 2021. 8. 31. 16:45

 

 

Failed to connect to repository : Command "git ls-remote -h -- https://github.com/gitID/projectName.git HEAD" returned status code 128:
stdout:
stderr: remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/gitID/projectName.git/'

 

 

 

저장소에 제대로 접근이 되지 않아서 생기는 오류이다. 

 

 

 

다음 에러가 생기는 원인으로는 

public repository 는 바로 연동이 되지만 private repository의 경우에는 ssh key를 등록해야 정상적으로 git 에 적용이 가능하다. 

 

 

ssh key를 생성

 

 

나의 경우 docker image로 jenkins를 만들었으므로 일단 jenkins이미지에 접근해 ssh key를 생성해준다. 

 

 

mkdir .ssh
ssh-keygen
#Enter 로 넘기기

 

 

id_rsa.pub 파일을 못찾겠는 경우 find / -name *.pub  다음 명령어로 찾아서 확인하면된다. 

 

 

 

생성된 키를 복사하기 위해서 내용 확인을 한다. 

cat /root/.ssh/id_rsa.pub

 

 

 

gitlab 으로 넘어와서 

본인 git setting 에서 방금 생성한 키 전체 내용을 적는다.

 

 

 

 

 

 

jenkins에 Credentials 추가하기

 

 

kind 에 ssh Username with private key를 선택하고

 

Kind에서 SSH Username with private key 를 선택

- ID 및 username는 입력하지 않음.

- Description은 키 이름 입력

- Private Key에서 직접 입력을 선택 하고 Add Key 버튼 선택 후 private key를 직접 입력합니다.

ssh key 내용은 다음 명령어를 통해 나온 내용 입력해준다. (key의 값은 BEGIN RSA PRIVATE KEY로 시작)

cat ~/.ssh/id_rsa

- Passphrase는 키 생성시 입력하지 않았으므로 빈칸으로 비워둡니다.

- Add 버튼 클릭

 

 

description 에 설명만 적어준다. 

 

private key 에 ssh key 내용은 다음 명령어를 통해 나온 내용 입력해주고 

cat ~/.ssh/id_rsa

add 로 Credentials을 추가한다.

 

 

 

추가한 Credentials 로 변경을 해주면 에러가 안나오는 것을 확인할 수 있다. 

 

 

 

 

 

 

 

 

 

 

 

 

반응형