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
'STUDY > Git || Github' 카테고리의 다른 글
git subtree | 여러 프로젝트 한 repo에 관리하고 싶을때 (0) | 2023.07.12 |
---|---|
forked repo 에서 작업했는데, 잔디가 안보였을 때 (0) | 2022.09.21 |
젠허브 깃헙 너무 좋아용.. (0) | 2022.06.30 |
Git Repo 생성했는데 모든 폴더, 모든 파일.. 1만개 이상 올라갈때 해결방법 (0) | 2022.06.03 |
GIT 업로드 / 폴더 생성 / 다운로드 (0) | 2022.04.29 |