반응형

깃헙 저장소에 Push 가 되거나 PR 이 될 때마다 Jenkins(혹은 Travis 등)에서 빌드를 자동화 하고, 테스트를 자동화 하기 위해서는 깃헙에 해당 서버의 Deploy key 를 등록해줘야 하는데요.

 

이 과정은 굉장히 간단합니다.

 

Github API 공식 가이드를 보고 하면 되는데, 이대로 적용하려고 보니 아래와 같은 에러 메세지를 띄우면서 실패했습니다.

 

Deploy Key 등록 실패

 

문서에서 하라는대로 했는데, 이게 왜 뜨는 걸까..? 하고 차근차근 처음부터 해봤더니 제가 다음과 같은 실수를 했더군요.

 

보통 ssh-keygen 명령으로 키를 생성하고 나면, id_rsa.pub 파일이 생성이 되는데 이 파일을 읽을 때 주의할 점은 .pub 를 반드시 포함하여 상태에서 파일을 읽거나 열어야 한다는 것입니다.

왜냐하면 .pub 파일은 public key 이고, .pub 가 안붙은 파일은 private key 이기 때문이죠.

(public key는 github에, private key는 jenkins에 등록해줘야 합니다)

 

저는 아래와 같이 읽어온 값으로 Deploy Key 를 등록하려 했었는데

cat ~/.ssh/id_rsa

이렇게 읽으면 위 사진과 같은 "Key is invalid. You must supply a key in OpenSSH public key format." 문제가 발생하게 되구요.

 

정상 등록 하기 위해서는 .pub 를 붙여서 읽은 값을 등록해줘야 합니다.

cat ~/.ssh/id_rsa.pub

그러면 정상 등록된 것을 확인할 수 있습니다.

 

 

 

반응형
반응형