안경잡이개발자

728x90
반응형

  기본적으로 외부에 공개되면 안 되는 중요한 코드는 깃허브(GitHub) private repository에 저장하는 것이 일반적이다. 당연히 오픈소스 형태로 외부에 공개된 public repository라면 git clone 명령어를 이용해 전체 소스코드를 가져올 수 있지만, private repository에 저장된 소스코드는 가져오기 어렵다. private repository의 경우 SSH key를 이용해 소스코드를 가져오는 것이 일반적인데, 당연히 깃허브(GitHub) 내에서 SSH 키(key) 설정을 진행해야 한다.

 

  구체적인 과정은 ① SSH 개인키와 공개키를 생성한 뒤에, ② 내 GitHub에 SSH 공개키를 등록하는 것이다. 그러면 나중에 SSH 개인키를 이용해 내 GitHub에 접근할 수 있다. 리눅스에서 SSH 키를 생성하는 방법은 간단하다. ssh-keygen 명령어를 입력하면 된다.

 

 

  이제 리눅스에서 자신의 홈 디렉터리(home directory)에 다음과 같이 개인키와 공개키가 생성된다.

 

 

  여기에서 .pub 확장자가 붙은 것이 공개키이므로, 이 파일의 내용을 복사하여 GitHub에 넣어주면 된다. 이때 개인키가 유출되지 않도록 조심해야 한다.

 

 

  결과적으로 이러한 공개키(public key)의 내용을 그대로 특정한 저장소(repository)의 keys 설정 페이지에 넣어주면 된다. 다음과 같이 [Key] 탭에 붙여넣기 하여 [Add key] 버튼을 누르면 등록된다. 참고로 특정한 private repository의 keys 설정 페이지는 다음의 경로에서 확인할 수 있다.

 

https://github.com/{사용자 이름}/{저장소 이름}/settings/keys

 

 

  그러면 결과적으로 다음과 같이 키가 등록된 것을 알 수 있다.

 

 

  이제 특정 리눅스 컴퓨터에서 GitHub에 접속하여 private repository의 코드를 받아오고자 한다면 환경 설정 목적으로 다음과 같은 명령어를 입력할 수 있다. 다음과 같이 해당 SSH 키를 이용해 접속할 수 있도록 등록하는 것이다.

 

ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
ssh -T git@github.com

 

  이후에 다음과 같이 git clone 명령어를 이용하여 소스코드를 받아오면 된다.

 

git clone git@github.com:{사용자 이름}/{저장소 이름}

 

  필자의 경우 private repository인 Watermarking-Deepfakes라는 이름의 저장소에 있는 코드를 받아왔다.

 

728x90
반응형