github 개인 계정 하나만 사용하다가, 사이드 프로젝트를 시작하며 프로젝트용 계정도 사용하게 되었는데.
새로운 계정으로 커밋하는 과정에서 에러 발생.
에러.에러.에러.무한에러의 늪에 빠졌습니다.
기존 계정 밀어버리고, 다시 재등록해도 에러!에러!에러!
현기증…
이걸로 시간을 얼마나 잡아 먹었는지 모릅니다. 서칭 끝에 은혜로운 글을 발견 하였습니다. (하단 링크 참고)
SSH 설정으로 편하게 github 멀티계정을 사용하는 방법이 친절하게 설명된 글이었어요.
준비물
- 작업 환경 : Mac (window에서도 비슷한 과정으로 했는데 잘 됐어요😁)
- 터미널
- 등록 계정 예시 (이메일이거나 아닌 경우 각자 상황에 맞춰서!)
- 개인 계정 : gaegul
- 오피셜 계정 : gaegul@gaegulcompany.com
ssh-key 생성
$ cd ~/.ssh // 루트경로에서 ssh 숨김 폴더로 이동
$ ssh-keygen -t rsa -b 4096 -C 'gaegul'
터미널을 열어 ssh 숨김 폴더로 이동 후 깃헙 계정을 등록해 줍니다.
- -t ras : 암호화 방식을 rsa로 지정
- -b 4096 키의 바이트 크기를 최대로 지정해 줍니다.
- -C ‘gaegul’ 계정을 추가해 주세요. 메일이라면 메일 형태로 추가해 주시면 됩니다.
$ file in which to save the key (/Mac/.ssh/id_rsa): id_rsa_stduy
잘 작성했다면 위와 같은 설정에 관한 내용이 나옵니다.
저는 개인 계정이므로 키값을 id_rsa_study로 해 주었습니다.
계정 2개 구분을 위한 값이니 본인이 구분하기 편하도록 작성해 주세요.
작성하지 않고 엔터치면 기본값 id_rsa로 설정됩니다.
$ Enter passphrase (empty for no passphrase):
$ Enter same passphrase again:
다음에 비밀번호 입력 메세지가 나오는데, 저는 비밀번호 설정없이 엔터쳐서 넘겼습니다.
자, 이제 첫번째 개인 계정 ssh key 파일이 생성되었습니다.
위 과정을 반복하여 오피셜 계정도 등록해 주세요.
$ ssh-keygen -t rsa -b 4096 -C 'gaegul@gaegulcompany.com'
$ file in which to save the key (/Mac/.ssh/id_rsa): id_rsa_work
오피셜 계정이며, 키값은 id_rsa_work입니다.
이후 엔터, 엔터해서 비밀번호 설정까지 완료해 주세요.
$ ls
ls 명령어로 생성된 파일 목록을 확인해 봅니다.
pub가 붙지 않은 것은 비공개 ssh이며 *.pub 파일은 공개 ssh를 의미합니다.
- id_rsa_study
- id_rsa_study.pub
- id_rsa_work
- id_rsa_work.pub
내용이 많아 보이지만 간단합니다 :)
ssh-key 등록
$ eval "$(ssh-agent -s)"
더 슬기롭고 편리한 깃헙 생활을 위하여 생성한 키를 ssh-agent에 등록합니다.
$ ssh-add ~/.ssh/id_rsa_study
$ ssh-add ~/.ssh/id_rsa_work
환경설정
계정 별로 SSH 설정파일을 작성합니다.
해당 경로에서 직접 파일을 생성해도 되고, vim을 켜서 작업해도 무방합니다.
Vim으로 환경설정 작성
- 폴더 생성 후 vim 에디터 열기
$ touch ~/.ssh/config //.ssh폴더에 config 폴더를 생성
$ vi ~/.ssh/config //vim 에디터 열기
- vim 에디터가 열렸으면 아래와 같이 개인에 맞춰 작성합니다.
# 깃헙계정 work
# -------------------
Host github.com-work
HostName github.com
IdentityFile ~/.ssh/id_rsa_work
User gaegul@gaegulcompany.com
# 깃헙계정 study
# -------------------
Host github.com-study
HostName github.com
IdentityFile ~/.ssh/id_rsa_study
User gaegul
- 작성 완료했다면 vim 명령어로 저장하고 나오기
ESC 누르고:w
로 저장을 합니다. 마지막으로:q
입력하여 에디터 종료
Github SSH 설정
github에 로그인하여 설정 페이지로 이동합니다.
- 우측 프로필 사진 드롭다운 클릭
- Settings
- 좌측 사이드바 SSH and GPG keys
- New SSH Key
- title : 아무거나. 저는 키 타이틀이랑 똑같이 했어요.
- key : 각 key의 _pub 값을 복붙해서 넣어주면 됩니다.
key값 복사하는 방법
1. 파일 열어서 직접 복사
$ open .
.ssh 폴더에서 저는 open .
명령어로 파인더를 열었고, pub 파일 두개 vscode로 열어서 키값 복사하기
2. 명령어로 복사
$ pbcopy<~/.ssh/id_rsa_study.pub
$ pbcopy<~/.ssh/id_rsa_study.work
이 단계에서 중요한 점은 각 계정별로 깃허브에 로그인하여 키값을 각 계정별로 등록해야 합니다.
잘 되었나…!
잘 등록이 되었을까요? 테스트 해봅시다.
$ ssh -T git@github.com-work
$ ssh -T git@gitbhu.com-study
잘 연결이 되었다면 아래같은 멘트가 나옵니다! 유후
Hi gaegul! You’ve successfully authenticated, but GitHub does not provide shell access.
계정 별 remote 설정하기, clone받기
이렇게 설정하고 저도 몇 번 까먹어서, 왜 안돼;;😨 했던 부분인데요.
보통 저는 레포지토리 클론받을 때, https url 카피하고,
git clone https://github.com/gaegul/gageul-repo
위의 명령어로 받았습니다.
하지만 이제 우리의 ssh key를 생각해 주세요!
git clone git@github.com-study:gaegeul/gaegul-repo.git
git clone git@github.com-work:gaegeul@gaegulcompany.com/gaegul-repo.git
github.com-키네임 을 입력해 주시면 됩니다.
remote도 동일하게 진행합니다.
git remote add origin git@github.com-study:gaegul/gaegul-repo.git
'Web' 카테고리의 다른 글
맥북 M1 scss 에러 해결방법 (0) | 2021.07.31 |
---|---|
맥북 M1에 homebrew로 node랑 vscode, 카카오톡 설치하기 (0) | 2021.07.31 |
맥북 M1에 homebrew 개발환경 설정하기 (0) | 2021.07.31 |
웹앱과 웹어플리케이션의 차이 (0) | 2020.06.06 |
[웹 기초] HTTP란 무엇일까? (0) | 2019.07.21 |