기타

Github Private repository를 Clone 하는 여러가지 방법

GriffinDouble 2022. 4. 18. 21:46

최종 수정 23. 05. 20

시작

EC2로 private repository를 clone 하던 도중 아래와 같은 문구를 받게 되었다.

remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.

즉, 더이상 비밀번호로 인증해서 받을 수 없다는 이야기이다. 그래서 미루고 미뤄왔던 다른 방법들을 찾아 헤매야 했다.
*본 글은 맥북을 기준으로 작성하였습니다.

  1. ssh-key를 만들어서 사용하기
    1. SSH를 이용해서 Clone 진행
  2. PAT를 생성해서 접근
    1. HTTPS를 이용해서 Clone 진행

ssh-key를 생성해서 사용하는 것은 조금 귀찮지만 한번 설정해 놓으면 편리하다는 장점이 있다. 또한 하드웨어 보안키를 이용하기 때문에 더 안전하다는 장점이 있다.

PAT를 생성해서 접근하는 방식은 ssh-key 보다는 편리하다. 또한 만료 기간을 설정할 수 있고, 권한을 지정해서 설정하기 쉽다.

우선 1번 ssh-key를 만들어서 사용하는 방법부터 수행하도록 하겠다.

아래의 글을 참고해서 똑같이 수행하면 된다.

SSH-KEY

1. ssh 확인

2. 만약 SSH key에 아래와 같은 것들이 존재하면 github에서 사용 가능하다.

  • id_rsa.pub
  • id_ecdsa.pub
  • id_ed25519.pub
  • 위에 해당하는 파일들을 사용하거나 새롭게 만들 수 있다.
  1. ls -al ~/.ssh

3. SSh key 생성 (아래 코드 참고)

  • 이메일을 라벨로써 사용하지만 굳이 붙이지 않아도 된다.

4. 생성된 파일 Github 등록

  1. 생성된 파일을 열어 내용을 복사
  2. Github 접속 및 로그인
  3. 프로필 클릭 > Settings > 왼쪽 메뉴 목록 중에 Access > SSH and GPG Keys

  1. New SSH Key 클릭

  1. title에 이름 원하는것 넣고 Key에 생성된 파일의 내용 복사했던것 붙여넣기

  1. Add SSH Key 클릭
  2. 패스워드 확인

5. 사용

  • clone시 HTTPS 말고 SSH를 클릭해서 SSH로 Clone 진행해야 함

SSH-KEY 생성

$ ssh-keygen -t ed25519 -C "이메일아이디@이메일주소.com" 
## 또는 
$ ssh-keygen -t rsa -b 4096 -C "이메일아이디@이메일주소.com"

 

PAT (Personal Access Token)

1. Github 접속 및 로그인

2. 프로필 클릭 > Settings > 왼쪽 목록 맨 하단에 Developer settings

3. Personal access tokens > Generate new token

4. 토큰 생성

    1. Note에는 본인이 원하는 문구(사용처 같은것) 적기

    2. Expiration에는 유효기간 선택

    3. Select Scopes에는 원하는 권한들 체크해서 생성

    4. 생성되면 생기는 token 복사

    5. git clone 할때 나오는 password에 붙여넣기

5. Clone 시, HTTPS 이용해서 Clone

  • 아이디는 본인 계정, password는 토큰 넣어주기

 

참고자료

https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token

https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account