티스토리 뷰

반응형

 

 

 

 

안녕하세요! 오늘은 하나의 PC에서 여러 Git 계정을 사용하는 방법에 대해 이야기해볼게요. 최근에 회사 계정과 개인 계정을 모두 사용해야 하는 상황이 생겨서, 이를 해결하기 위해 여러 방법을 시도해봤어요. 그 과정에서 알게 된 점들을 여러분과 공유해보려고 합니다.



1. SSH 키 생성하기


첫 번째 단계는 SSH 키를 생성하는 거예요. 회사 계정과 개인 계정 각각에 대해 SSH 키를 만들고, 이를 GitHub에 등록하는 방법입니다. 먼저 git bash를 실행하여 아래와 같은 명령어를 입력합니다.

 

  • SSH 키 생성
    • -t rsa : 생성할 키의 유형을 지정합니다. 여기서는 RSA 키를 생성하겠다는 의미입니다.
    • -b 4096 : 생성할 RSA 키의 비트 길이를 설정합니다. 4096 비트는 매우 강력한 보안을 제공하며, 기본값은 2048 비트입니다.
    • -C "your_email@example.com": 생성하는 SSH 키에 주석을 추가합니다. 주로 이메일 주소를 사용하여 키의 소유자를 식별하는 데 도움을 줍니다.
    • -f "personal_git_key": 생성할 키 파일의 이름을 지정합니다. 여기서는 personal_git_key라는 이름으로 키 파일이 생성됩니다.
#ssh 폴더로 이동
cd ~./ssh

# 개인 계정 SSH 키 생성
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f "personal_git_key"

# 회사 계정 SSH 키 생성
ssh-keygen -t rsa -b 4096 -C "your_company_email@example.com" -f "company_git_key"


이때 키 파일의 이름을 다르게 지정해주는 것이 중요해요. 예를 들어 ~/.ssh/personal_git_key과 ~/.ssh/company_git_key와 같이요. 이러면 나중에 혼동할 일이 없겠죠?

-f 옵션을 사용하지 않으면 id_rsa라는 기본 이름이 사용됩니다.

SSH키 생성을 하게 되면 이어서 비밀번호 설정에 관한 질문이 나옵니다. 

#비밀번호 확인
Enter passphrase (empty for no passphrase): 

#비밀번호 재확인
Enter same passphrase again:

 

엔터로 넘어가도 되며 나중에 다시 설정 가능합니다.

전체적인 설정과정은 아래와 같습니다.

 

 

  • SSH 키 생성 확인
$ ls -al
total 43
drwxr-xr-x 1 yj 197121    0 Sep  5 11:48 .
drwxr-xr-x 1 yj 197121    0 Sep  3 17:15 ..
-rw-r--r-- 1 yj 197121  207 Sep  4 09:31 config
-rw-r--r-- 1 yj 197121 2610 Sep  4 09:26 company_git_key
-rw-r--r-- 1 yj 197121  573 Sep  4 09:26 company_git_key.pub
-rw-r--r-- 1 yj 197121 2610 Sep  4 09:19 personal_git_key
-rw-r--r-- 1 yj 197121  573 Sep  4 09:19 personal_git_key.pub

 

💡personal_git_key: 개인 키로, SSH 인증에 사용됩니다.
     personal_git_key.pub: 안전하게 공유할 수 있는 공개 키로, 서버에 등록하여 액세스를 허용하는 데 사용됩니다.

 

 

 

 

2. SSH 설정 파일 수정하기


SSH 키를 생성한 후, 이제는 SSH 설정 파일을 수정해야 해요. ~/.ssh/config 파일을 열고 아래와 같이 설정해줍니다. 파일이 없다면 만들어서 진행해주세요.

  • ~/.ssh/config
# 개인 계정
Host github.com-personal
  HostName github.com
  User git
  IdentityFile ~/.ssh/personal_git_key

# 회사 계정
Host github.com-company
  HostName github.com
  User git
  IdentityFile ~/.ssh/company_git_key


이 설정을 통해 Git이 어떤 계정을 사용할지 명확하게 지정할 수 있어요.

  • Host : 이 부분은 SSH 연결 시 사용할 별칭입니다. 예를 들어, github-work는 회사 계정을 사용할 때 입력할 별칭입니다. 원하시는 대로 변경할 수 있습니다.
  • HostName : 이 부분은 변경할 필요가 없습니다. GitHub의 기본 주소인 github.com을 그대로 사용합니다.
  • User : 이 부분도 변경할 필요가 없습니다. GitHub에 접속할 때 사용할 사용자 이름은 항상 git입니다.
  • IdentityFile : 이 부분은 각 계정에 해당하는 SSH 키 파일의 경로를 지정합니다. 계정에 맞는 SSH 키 파일 경로로 수정해야 합니다. 

 

 

3.  SSH-Agent에 키 추가하기


SSH 키가 SSH 에이전트에 추가되어 있는지 확인합니다. 터미널에서 다음 명령어를 입력해줍니다.

  • SSH-Agent 시작하기
eval "$(ssh-agent -s)"

 

  • SSH 키 추가하기
ssh-add ~/.ssh/personal_git_key
ssh-add ~/.ssh/company_git_key

 

 

위의 명령어에서 personal_git_key는 실제로 생성한 개인 SSH 키 파일의 이름입니다. 만약 다른 이름으로 저장하셨다면 그에 맞게 수정하셔야 합니다.

 

  • SSH 연결 테스트

SSH 키가 제대로 작동하는지 확인하기 위해 다음 명령어를 입력하여 GitHub과의 SSH 연결을 테스트합니다.

ssh -T git@github.com

 

정상적으로 연결되면 다음과 같은 메시지가 출력됩니다. 이 메시지가 나온다면 SSH 키가 올바르게 설정된 것입니다.

Hi username! You've successfully authenticated, but GitHub does not provide shell access.

 

 


4. GitHub에 ssh-key 등록하기

 

  • 공개 키 복사하기 : 아래 명령어를 입력하여 출력된 내용을 복사합니다.
cat ~/.ssh/personal_git_key.pub

 

 

 

 

 

GitHub: Let’s build from here

GitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and fea...

github.com

 

  • github에서 프로필을 클릭 > [Settings] > [SSH and GPG keys] > [New SSH key] 순서대로 클릭합니다.

  • 그 뒤에는 Title, Key type, Key를 순서대록 입력합니다.

 

 

 

 

 

5. SSH로 클론 받기

 

만약 이미 클론된 레파지토리가 있다면 6번으로 넘어가시면 됩니다.

GitHub에서 클론하고자 하는 레파지토리의 페이지로 가서, Code 버튼을 클릭한 후 SSH URL을 복사합니다. URL은 git@github.com:username/repository.git 형태입니다.

 

 

 

  • 터미널에서 클론하기
    • 터미널을 열고, 원하는 디렉토리로 이동한 후 다음 명령어를 입력합니다.
git clone git@github.com:username/repository.git

 

 

 

 

6. 이미 클론된 경우 원격 저장소 URL 수정하기

 

이미 클론된 리포지토리의 원격 URL을 수정하거나, 커밋할 때 사용할 사용자 정보를 설정하는 과정입니다.

  • 터미널에서 클론한 리포지토리의 디렉토리로 이동
cd path/to/your/repository

 

  • 현재 원격 URL 확인하기
git remote -v

 

 

  • 원격 URL 수정하기
    • 각 프로젝트에서 사용할 Git remote URL을 설정합니다. 개인 프로젝트와 회사 프로젝트에 맞게 설정해줍니다.
# 개인 프로젝트 (예: my-personal-repo)
git remote set-url origin git@github.com-personal:username/my-personal-repo.git

# 회사 프로젝트 (예: my-company-repo)
git remote set-url origin git@github.com-company:companyname/my-company-repo.git

 

 

  • 커밋할 때 사용자 정보 설정하기
    • 각 프로젝트에 맞게 커밋할 때 사용하는 사용자 정보를 설정해줍니다.
# 개인 프로젝트
git config user.name "Your Name"
git config user.email "your_email@example.com"

# 회사 프로젝트
git config user.name "Your Company Name"
git config user.email "your_company_email@example.com"

 



마무리

 

이렇게 해서 하나의 PC에서 여러 Git 계정을 사용하는 방법을 정리해봤어요. 처음에는 여러 단계와 설정이 많아 조금 복잡하게 느껴졌지만 하나하나 따라 해보니 생각보다 간단하더라고요. 각 계정에 맞는 SSH 키를 설정하고 원격 URL을 조정하는 과정이 특히 유용했습니다.

이제는 회사와 개인 프로젝트를 모두 편리하게 관리할 수 있어서 매우 만족스럽습니다.

이번 과정을 통해 GitHub 계정을 효율적으로 관리하는 방법을 배웠고, 앞으로 더 수월하게 작업할 수 있을 것 같아요. 여러분도 이 방법을 통해 GitHub 계정을 체계적으로 관리하시길 바라며, 도움이 되길 바랍니다. 😊

 

 

반응형
댓글
반응형
공지사항