본문 바로가기
Git

GitHub 계정별 자격 증명 설정 가이드

by 대박플머 2024. 7. 22.

GitHub 계정별 자격 증명 설정 가이드

GitHub 계정을 여러 개 사용하는 경우, 각 리포지토리별로 다른 자격 증명을 설정하는 것이 필요합니다. 이 블로그에서는 Windows 환경에서 SSH 키와 HTTPS URL을 사용하여 리포지토리별로 자격 증명을 설정하는 방법을 소개합니다. 이 가이드를 따라하면 여러분도 쉽게 각 리포지토리마다 다른 GitHub 계정을 사용할 수 있습니다.

1. SSH 키를 사용하는 방법

1.1. Git Bash를 사용하여 SSH 키 생성

  1. Git Bash 설치:
    먼저 Git 공식 웹사이트에서 Git을 다운로드하고 설치하세요.

  2. Git Bash 실행:
    설치가 완료되면 Git Bash를 실행합니다.

  3. SSH 키 생성:
    Git Bash 터미널에서 다음 명령어를 사용하여 SSH 키를 생성합니다.

    ssh-keygen -t ed25519 -C "your_email@example.com"
  4. SSH 키 파일명 지정:
    필요한 경우, 파일명을 지정할 수 있습니다.

    ssh-keygen -t ed25519 -C "personal_email@example.com" -f ~/.ssh/id_rsa_personal
    ssh-keygen -t ed25519 -C "work_email@example.com" -f ~/.ssh/id_rsa_work
  5. SSH 키 에이전트에 추가:
    생성한 키를 SSH 에이전트에 추가합니다.

    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_rsa_personal
    ssh-add ~/.ssh/id_rsa_work
  6. GitHub 계정에 SSH 키 추가:
    각 GitHub 계정의 설정(Settings)에서 SSH 키를 추가합니다. ~/.ssh/id_rsa_personal.pub~/.ssh/id_rsa_work.pub 파일의 내용을 복사하여 각각의 계정에 추가하세요.

  7. SSH 설정 파일 수정:
    ~/.ssh/config 파일을 열어 아래와 같이 설정합니다.

    Host github-personal
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_rsa_personal
    
    Host github-work
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_rsa_work
  8. 리포지토리의 원격 URL 설정:
    각 리포지토리에서 적절한 SSH 호스트를 사용하여 원격 URL을 설정합니다.

    # 개인 리포지토리
    cd /path/to/personal/repo
    git remote set-url origin git@github-personal:username/repo.git
    
    # 업무 리포지토리
    cd /path/to/work/repo
    git remote set-url origin git@github-work:username/repo.git

1.2. Windows Subsystem for Linux (WSL)을 사용하여 SSH 키 생성

  1. WSL 설치:
    WSL을 설치하려면 PowerShell을 관리자 모드로 열고 다음 명령어를 실행합니다.

    wsl --install
  2. WSL 배포판 설치:
    설치가 완료되면 원하는 Linux 배포판(Ubuntu 등)을 Microsoft Store에서 설치하세요.

  3. WSL 실행:
    설치한 배포판을 실행합니다.

  4. SSH 키 생성:
    Linux 명령어와 동일하게 WSL 터미널에서 SSH 키를 생성합니다.

    ssh-keygen -t ed25519 -C "your_email@example.com"
  5. SSH 키 파일명 지정:
    필요한 경우, 파일명을 지정할 수 있습니다.

    ssh-keygen -t ed25519 -C "personal_email@example.com" -f ~/.ssh/id_rsa_personal
    ssh-keygen -t ed25519 -C "work_email@example.com" -f ~/.ssh/id_rsa_work
  6. SSH 키 에이전트에 추가:
    생성한 키를 SSH 에이전트에 추가합니다.

    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_rsa_personal
    ssh-add ~/.ssh/id_rsa_work
  7. GitHub 계정에 SSH 키 추가:
    각 GitHub 계정의 설정(Settings)에서 SSH 키를 추가합니다. ~/.ssh/id_rsa_personal.pub~/.ssh/id_rsa_work.pub 파일의 내용을 복사하여 각각의 계정에 추가하세요.

  8. SSH 설정 파일 수정:
    ~/.ssh/config 파일을 열어 아래와 같이 설정합니다.

    Host github-personal
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_rsa_personal
    
    Host github-work
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_rsa_work
  9. 리포지토리의 원격 URL 설정:
    각 리포지토리에서 적절한 SSH 호스트를 사용하여 원격 URL을 설정합니다.

    # 개인 리포지토리
    cd /path/to/personal/repo
    git remote set-url origin git@github-personal:username/repo.git
    
    # 업무 리포지토리
    cd /path/to/work/repo
    git remote set-url origin git@github-work:username/repo.git

2. HTTPS URL을 사용하는 방법

2.1. 자격 증명 저장소 설정

Git에서 자격 증명을 저장하도록 설정합니다.

git config --global credential.helper store

2.2. 리포지토리별로 자격 증명 설정

각 리포지토리의 디렉토리로 이동하여 git config 명령어를 사용해 자격 증명을 설정합니다.

# 개인 리포지토리
cd /path/to/personal/repo
git config user.name "personal_username"
git config user.email "personal_email@example.com"
git remote set-url origin https://personal_username@github.com/personal_username/repo.git

# 업무 리포지토리
cd /path/to/work/repo
git config user.name "work_username"
git config user.email "work_email@example.com"
git remote set-url origin https://work_username@github.com/work_username/repo.git

이제 여러분은 각 리포지토리마다 다른 GitHub 계정을 사용할 수 있습니다. 상황에 맞게 SSH 키 방법이나 HTTPS URL 방법 중 하나를 선택하여 설정하세요. 이 가이드를 참고하면 보다 쉽게 여러 GitHub 계정을 관리할 수 있을 것입니다. Happy Coding!