Github 계정 2개 SSH 연결

2021. 7. 6. 11:44·Git
728x90

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.pub를 id_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 설정을 따라가기 때문에 다른 이름으로 커밋이 된다는 점을 신경써야 한다.

참고

  • https://yosuniiiii.com/github-%EA%B3%84%EC%A0%95-%EC%97%AC%EB%9F%AC%EA%B0%9C-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-on-mac-6588237f9671

  • https://velog.io/@jay/multiplegithubaccounts

728x90
저작자표시 (새창열림)

'Git' 카테고리의 다른 글

Gitlab 서버에서 EXTERNAL_URL 변경  (0) 2023.01.15
Git Config  (0) 2021.02.28
git clone invalid path 에러  (0) 2021.02.28
'Git' 카테고리의 다른 글
  • Gitlab 서버에서 EXTERNAL_URL 변경
  • Git Config
  • git clone invalid path 에러
Caniro
Caniro
  • Caniro
    Minimalism
    Caniro
  • 전체
    오늘
    어제
    • 분류 전체보기 (317)
      • Algorithm (13)
        • 알기 쉬운 알고리즘 (10)
        • Search (1)
        • Sort (2)
      • Arduino (0)
      • C++ (185)
        • Class (46)
        • Exception (6)
        • Library (51)
        • Overloading (10)
        • SmartPointer (5)
        • Syntax (33)
        • TBC++ (23)
        • Templates (9)
        • VisualStudio (2)
      • Embedded (1)
      • Git (4)
      • Java (5)
      • Linux (16)
        • Error (1)
        • Linux Structure (11)
      • MacOS (7)
      • OS (1)
        • Concurrency (1)
      • Python (21)
        • Class (1)
        • Function (2)
        • Syntax (17)
      • Raspberrypi (9)
      • Review (1)
      • Utility (12)
        • VSCode (5)
        • VirtualBox (3)
      • Web (8)
        • Nginx (1)
        • React (3)
        • Django (1)
      • Windows (20)
        • Registry (3)
        • WSL (1)
        • DeviceDriver (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    logi options
    Workspace
    Solaris 10
    스프링 프레임워크 핵심 기술
    제외
    citrix workspace
    알림
    SunOS 5.1
    MacOS
    windows
    백기선
    Windows 11
    vscode
    SFC
    윈도우 명령어
    unix
    mspaint
    스프링
    맥북 카카오톡 알림 안뜸
    로지텍 마우스 제스처
    java
    spring
    그림판
    dism
    시스템 복구
    EXCLUDE
    KakaoTalk
    윈도우
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Caniro
Github 계정 2개 SSH 연결
상단으로

티스토리툴바