Git 2021. 7. 6. 11:44

Github 계정 2개 SSH 연결

  • 기존에 사용하던 ssh key로 깃허브의 다른 계정에 연결하려 했으나 key is already in use 에러가 발생했다.

    • 깃허브에서 ssh key의 중복을 허용하지 않아서 발생하는 문제이다.

    • 따라서 ssh key를 하나 더 만들어서 등록해야 하는데, 여기서 따로 설정해야 하는 부분이 있다.


ssh 키 생성

  • ssh key를 하나 더 만들 때 기존의 키와 겹칠까봐 아래와 같은 과정을 거쳤다. 단순히 새로 만들 키의 이름을 ssh-keygen 명령어 실행 시 처음에 설정해줘도 된다.

    • ~/.ssh 폴더에서 기존에 사용하던 키의 이름을 변경하고(백업), 다시 ssh 키를 생성한다.

      • id_rsa, id_rsa.pub의 이름을 id_rsa.backup, id_rsa.pub.backup 이런식으로 변경해둔다.
    ssh-keygen -C 이메일
    • 새로 생성한 key들의 이름을 변경하고, 백업했던 key들을 다시 복원한다.

      • id_rsa, id_rsa.pubid_rsa_new, id_rsa_new.pub로 변경하고 위에서 백업한 것들을 다시 원래대로 복원한다.
    • 2번째 계정 깃허브에 ssh key 등록

      • 깃허브의 Settings - SSH and GPG keys 탭에 들어가서 New SSH key를 클릭하고 ~/.ssh/id_rsa_new.pub의 내용을 복붙한다.

.ssh/config 파일 수정

  • 아래와 같이 github.com-new로 연결했을 때 다른 개인키를 사용하도록 등록한다.

    # Github
    Host github.com
      HostName github.com
      User git
      IdentityFile ~/.ssh/id_rsa
    Host github.com-new
      HostName github.com
      User git
      IdentityFile ~/.ssh/id_rsa_new

클론, 푸쉬, 연결할 때

  • 이제 평소와 같이 작업을 하면 되는데, 신경써야 할 부분이 몇가지 있다.

    • URL을 위의 config에서 새로 추가한 Host로 쓸 것

      • git clone이나 git remote add를 할 때 URL 자리에 github.com이 아닌 github.com-new 이런 식으로 써야 한다.
    • 다른 계정으로 사용할 레포에서는 이름과 이메일을 따로 설정할 것

      • git config user.name 유저명 이렇게 따로 설정해주지 않으면 --global 설정을 따라가기 때문에 다른 이름으로 커밋이 된다는 점을 신경써야 한다.

참고

'Git' 카테고리의 다른 글

Gitlab 서버에서 EXTERNAL_URL 변경  (0) 2023.01.15
Git Config  (0) 2021.02.28
git clone invalid path 에러  (0) 2021.02.28