일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- FormData()
- express session
- useContext
- 라우터 분리
- 아이디 중복체크기능
- JWT 하드코딩
- ws 라이브러리
- 시퀄라이즈 기본설정
- css기초
- useEffect clean up
- buffer.from
- Uncaught Error: could not find react-redux context value; please ensure the component is wrapped in a <Provider>
- express실행
- cookie-parser 만들어보기
- 세션으로 로그인 구현
- express.static
- nodejs파일업로드
- JWT 로그인 기능 구현
- JWT 만들어보기
- OAuth 카카오
- 비동기파일업로드
- node.js path
- next 매개변수
- 라우터와 미들웨어
- express router
- 블록 만들기
- 라우터미들웨어 분리
- mysql wsl
- 라우트 매개변수
- javascript기초
- Today
- Total
즐코
[git] 한 컴퓨터에서 깃헙 계정 여러 개 사용하기! 본문
한 컴퓨터에서 github 계정을 2개 이상 쓸 때 어떻게 해야할까?!
예전에 설정해놨었는데, 터미널이 망가지고 새로 깔면서 설정이 날라가 버렸기에 다시 찾지 않게끔 기록해두려고 한다.
1. SSH Key 생성하기
1. 회사 계정 / 개인 계정 2개를 생성해준다! 숨김 폴더인 .ssh 상에 기존 ssh key 가 있는지 확인한다. 난 깔끔하게 가기 위해 id_rsa, id_ras.pub를 다 삭제해줬다.
cd ~/.ssh
ls -al
2. ssh key를 생성하기 위해 아래 명령어를 쳐준다. 깃헙에서 사용하는 email과 이제 만들어줄 ssh key의 이름을 먼저 정한다.
- 회사 계정 : 회사 깃헙아이디@회사이메일주소 && id_rsa_jane
- 개인 계정 : 내 깃헙아이디@이메일주소 && id_rsa_yj
ssh-keygen -t rsa -C "회사이멜주소" -f "id_rsa_jane"
ssh-keygen -t rsa -C "개인이멜주소" -f "id_rsa_yj"
3. 아래와 같이 공개키+개인키를 만들고 있고 구문을 넣으라고 하는데 엔터치면서 생략하면 된다. (salt 같은 걸 넣어주는 듯?)
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
그러면 아래와 같이 각각의 공개키(.pub)와 개인키가 생성되었다.
4. 키 관리를 위해 ssh-agent에 새로 생성한 키들을 저장해준다.
아래 명령어로 백그라운드에 ssh-agent를 실행 시켜준다. 참고로 pid 값은 매번 바뀐다고 한다.
$ eval "$(ssh-agent -s)"
> Agent pid 59566
아래 명령어로 각각 생성한 개인키를 ssh-agent에 저장해준다.
ssh-add ~/.ssh/id_rsa_jane
# 출력 Identity added: /Users/yjlee/.ssh/id_rsa_jane (회사계정주소)
ssh-add ~/.ssh/id_rsa_yj
# 출력 Identity added: /Users/yjlee/.ssh/id_rsa_yj (개인계정주소)
아래 명령어로 ssh-agent에 정상적으로 ssh 개인키가 추가되었는지 재확인 해준다.
ssh-add -l
# 출력 : 3072 SHA256:ky... 회사계정주소 (RSA)
# 출력 : 3072 SHA256:YL... 개인계정주소 (RSA)
2. 깃헙에 새로운 SSH 공개 Key 추가해주기
1. 공개키 복사를 위해 위에서 생성된 id_rsa_jane.pub 와 id_rsa_yj.pub를 복사해야한다.
복사하거나 편집기를 열어서 복사하는 방법이 있다.
# 복사하기
pbcopy < ~/.ssh/id_rsa_jane.pub
pbcopy < ~/.ssh/id_rsa_yj.pub
# 편집기 열기
code ~/.ssh/id_rsa_jane.pub
code ~/.ssh/id_rsa_yj.pub
2. 복사를 했으면, 깃헙 계정 - 프로필 클릭 - Settings - SSH and GPG keys 클릭 -> New SSH Key 클릭 -> 아래 두 항목 작성하기
- Title : 기억하기 좋은 공개키 이름, 별명 적기
- Key : 위에서 복사한 공개키 넣기
계정별로 실행해준다.
3. SSH config 파일 설정 후 테스트
1. config 파일에 들어가서 환경 설정해주기
cd ~/.ssh/config
vi config
2. 각 계정마다 환경 설정을 해주는데, 되도록 아래의 양식을 지켜준다. 특히 Host 부분을 잘 지을 것
#jane 계정에 대한 SSH 설정
Host github.com-jane
HostName github.com
User 유저 아이디
IdentityFile ~/.ssh/id_rsa_jane
#yj 계정에 대한 SSH 설정
Host github.com-yj
HostName github.com
User 유저 아이디
IdentityFile ~/.ssh/id_rsa_yj
- Host github.com-jane : 나중에 ssh로 연결할 때 Host 지시자로 설정한 값을 사용하니 구분이 쉽고 편한 이름으로 작성한다.
- HostName github.com : github 도메인
- User 유저 아이디 : github 사용자 아이디 (github 아이디로 설정)
- IdentityFile ~/.ssh/id_rsa_jane : 위에서 만든 개인키 경로
나중에 SSH 연결을 할 때 Host에 설정해둔 값인 github.com-jane 으로 호출하면, 지정한 HostName(깃헙)에 접속해서 User로 지정해둔 깃헙 계정을 가지고 IdentityFile 에 적어둔 개인키 경로에서 그 개인키를 참조해 인증하는 방식이다.
3. 아래 명령어로 ssh 연결 테스트
ssh -T git@github.com-jane
ssh -T git@github.com-yj
# 출력 : Hi 깃헙 계정! You've successfully authenticated, but GitHub does not provide shell access.
4. SSH 로 깃헙 레파지토리 클론 받아보기
1. 클론할 레파지토리 - code 클릭 후 HTTPS가 아니라 SSH 클릭해서 복사하면 아래와 같이 나올 것이다.
git@github.com:회사깃헙이름/깃헙레파지토리.git
2. 이걸 이제 아래와 같이 바꿔서 클론해준다.
즉 github.com 를 위의 ssh config 파일의 Host로 지정한 github.com-jane 를 넣어준다!
기가 막히게 클론된다.
$ git clone git@github.com-jane:회사깃헙이름/깃헙레파지토리.git
3. 커밋이나 푸쉬 하기 전 user.name과 user.email을 확인해서 수정해주고 커밋하고 푸쉬해야한다.
git config user.name 회사계정아이디
git config user.email 회사계정이메일
# 전역으로 설정하고자 할 때 --global로 설정
git config --global user.name
git config --global user.email
# 설정 잘 됐는지 확인하려면 아래 명령어로 확인
git config user.name
git config user.email
주의할점!
새로운 레파지토리 생성 후 remote 연결 후 push 할 때,
git remote add origin git@github.com:깃헙레파지토리 주소 어쩌고.git 대신 git clone 하는 것처럼
git remote add origin git@github.com-yj:깃헙레파지토리 주소 어쩌고.git 라고 해야 Permission denied 에러가 나지 않는다.
아래 포스팅을 참고하였다!
'환경설정' 카테고리의 다른 글
[VSC] Delete `␍` eslint (prettier/prettier) Error 해결방법 (0) | 2022.11.16 |
---|---|
[node] node.js 삭제 후 nvm 설치하기 (0) | 2022.11.03 |