STUDY/Git || Github

MacOS에서 Github 여러계정 사용하기 | ssh-key

nicesugi 2023. 7. 3. 15:13

MacOS에서 Github 여러계정 사용하기

사이드 프로젝트를 진행하고자 계정을 새로 만들어 git push 하던 중에 permission 거절당하여 찾아보게 되었다.


1. SSH 키 생성

연결할 Github 계정(nicesugi@example.com) 적어줍니다.

cd ~/.ssh
ssh-keygen -t rsa -b 4096 -C "nicesugi@example.com"
# Generating public/private rsa key pair.
# Enter file in which to save the key (/Users/(user_name)/.ssh/id_rsa): 원하는 ssh key 이름(ex: id_rsa_sugi)
# Enter passphrase (empty for no passphrase):
# Enter same passphrase again:
# Your identification has been saved in id_rsa_sugi
# Your public key has been saved in id_rsa_sugi.pub
# The key fingerprint is:
# SHA256:exampleexampleexampleexampleexample sugi@example.com
# The key's randomart image is:
# +---[RSA 4096]----+
# ~~~~~ 키 이미지 ~~~~~
# +----[SHA256]-----+

 

2. 생성된 키 확인

ls

 

3. 생성한 키를 ssh-agent에 등록

eval "$(ssh-agent -s)"
# Agent pid 3011
ssh-add ~/.ssh/id_rsa_sugi

 

4. 계정 별로 SSH 설정 파일을 작성

vi ~/.ssh/config
# i 를 눌러 insert 모드 변환 -> 아래 내용 입력 -> esc -> :wq or :wq! -> config 내용 저장해서 나오기

#  -------------------
#  깃헙계정 sugi
Host github.com-sugi
  HostName github.com
  IdentityFile ~/.ssh/id_rsa_sugi
  User sugi
#  -------------------

 

5. .ssh 폴더가 창으로 열리면 아래와 같이 두 개의 SSH key를 확인할 수 있음.

open .
# id_rsa_sugi
# id_rsa_sugi.pub

 

6. id_rsa_sugi.pub (공개ssh)파일을 vscode로 연결하여 열기

터미널에 pbcopy를 통해 공개ssh 내용을 복사

pbcopy<~/.ssh/id_rsa_sugi.pub

 

7. Github SSH 설정을 하기 위해 nicesugi@example.com 계정으로 로그인

-> Account settings (환경설정)

-> SSH and GPG keys

-> New SSH keys

- Title : id_rsa_sugi

- Key : pbcopy 명령어를 사용해 복사한 ssh 내용

-> Add SSH key 등록

 

8. 터미널로 돌아가 등록이 되었는지 확인했을때 아래와 같이 나온다면 성공 !!

ssh -T git@github.com-sugi
# Hi sugi! You've successfully authenticated, but GitHub does not provide shell access.

 

 


계정 별로 clone을 받을때는 SSH key를 이용해야 하니 HTTPS 대신 SSH을 눌러 진행해 주세요.

터미널에 입력 시에는 보통

`git clone git@github.com:nicesugi/Poll.git` 이렇게 진행했지만 

.ssh/config 파일에 설정한 것처럼 Host 부분  <github.com-sugi>처럼!

`git clone git@github.com-sugi:nicesugi/Poll.git` 로 진행하여 주시면 됩니다~

 

remote 시 이렇게 하면 됩니다!

`git remote add origin git@github.com-sugi:nicesugi/Poll.git`

 

 


터미널에서 계정 변경 시 아래와 같이 출력이 된다면 변경이 잘 된 것으로 확인할 수 있음.

이후에 Github에 변경된 계정으로 커밋을 하시면 됩니다~

git config user.name sugi
git config user.name
# sugi

git config user.email nicesugi@example.com
git config user.email
# nicesugi@example.com

 

반응형