[Github] 하나의 컴퓨터에 여러 계정 사용하기

주형(Jureamer)·2022년 6월 12일
0

회사 노트북으로 개인 계정과 회사 계정을 동시에 사용해야 하다보니 Access Denied 등의 git error를 많이 마주치게 됐습니다.

찾아보니 한 컴퓨터에 여러 github 계정을 동시에 사용하려면 ssh키 개별적으로 등록을 해줘야하는 것을 알게 되었습니다.

1. SSH Key 등록
2. SSH Config 등록
3. Github SSH Key 등록
4. Github Remote URL 변경
순서를 통해 여러 계정 사용하는 환경을 등록할 수 있습니다.


1. SSH Key 등록

아래의 명령어를 통해 자신의 github 계정에 해당하는 ssh key를 만들 수 있습니다.

$ ssh-keygen -t rsa -C "example@example.com"

그리고 나오는 입력 창에서 id_rsa_[계정명 or 원하는 이름]을 입력하시면 새 파일이 생성됩니다.

하지만 이 과정에서 그냥 엔터를 치시게 되면 기존 id_rsa 파일에 덮어씌워지니 주의하시기 바랍니다.

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): id_rsa_example

이후에 파일이 ~/.ssh 안에 id_rsa_계정id_rsa_계정.pub 2가지 파일이 생긴 걸 볼 수 있습니다.

그리고 아래 과정을 통해 ssh key를 추가하고 저장 해줍니다.

$ ssh-add ~/.ssh/id_rsa_계정
$ ssh-add -l

2. SSH config 파일 설정

그 다음 config 파일을 조작해보겠습니다.
~/.ssh 폴더 내에 config 파일이 없다면 생성부터 해줍니다.

touch ~/.ssh/config

이후 config 파일을 기존에 생성된 파일과 자신이 사용할 github 계정을 참조하여 아래와 같이 작성해줍니다.

# 계정 1
Host github.com-계정1
	HostName ssh.github.com
	User git
	IdentityFile ~/.ssh/id_rsa_계정1

# 계정2
Host github.com-계정2
	HostName ssh.github.com
	User git
	IdentityFile ~/.ssh/id_rsa_계정2

3. Github SSH Key 등록

이후 Github에 들어가서 아래의 경로로 들어가줍니다.

New SSH Key 생성 버튼을 누른 뒤 Title에는 원하는 이름과 Key에는 ~/.ssh 폴더 내에 있는 id_rsa_계정.pub 파일을 확인 후에 복사하여 줍니다.

cat id_rsa_계정.pub # .pub 파일 확인

# 아래 양식의 정보를 복사하여 key에 입력
ssh-rsa
.......
......
= github 주소 
이후 아래와 같은 명령어를 통해 등록을 확인할 수 있습니다.
$ ssh -T git@github.com-계정1
Hi 계정1! You've successfully authenticated, but GitHub does not provide shell access.

$ ssh -T git@github.com-계정2 
Hi 계정2! You've successfully authenticated, but GitHub does not provide shell access.

4. Github Remote URL 등록

마지막으로 Github Remote URL 등록 시에는 https 주소가 아닌 ssh 주소로 변경해야하며
git@github.com 뒤에 config에 설정했던 host로 등록해주면 됩니다.

(기존) git@github.com:Jureamer/TheSecretLifeOfPrograms_GroupStudy-1.git
(변경) git@github.com-{계정}:Jureamer/TheSecretLifeOfPrograms_GroupStudy-1.git

CLI로 변경하는 방법은 아래와 같이 변경 해줄 수 있습니다.

git remote set-url origin(브랜치명) 변경된 URL

참고


profile
작게라도 꾸준히 성장하는게 목표입니다.

0개의 댓글