SSH Key를 이용해 GitHub 계정의 저장소(repository) 코드에 접근하기
기본적으로 외부에 공개되면 안 되는 중요한 코드는 깃허브(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라는 이름의 저장소에 있는 코드를 받아왔다.
'기타' 카테고리의 다른 글
프린터에서 "삭제 중"이나 "스풀링" 상태에서 계속 멈춰있을 때 강제로 지우는 방법 (0) | 2021.03.07 |
---|---|
구글 코랩(Google Colab)에서 깃허브(GitHub) 연동하는 방법 및 Private Repository에서 소스 코드 가져오는 방법 (0) | 2021.03.06 |
PyTorch에서 ImageFolder와 유사한 클래스를 구현해야 할 때 사용할 수 있는 코드 템플릿 (0) | 2021.03.03 |
Clarifai 이미지 인식 서비스 사용법 (Feat. 유명인 얼굴 인식 서비스) (1) | 2021.03.03 |
깃허브(GitHub)의 README 파일에 이미지/동영상 올리는 방법 (1) | 2021.03.01 |