jineecode
[GitHub] SSH를 이용해 여러개의 깃허브 계정 사용하기 본문
참조 블로그:
https://compogetters.tistory.com/124
1) ssh-key 생성 / 등록 / config 생성
아래는 모두 터미널에서 진행된다.
cd ~/.ssh
- 터미널을 열고 루트에서 ssh 숨김폴더로 이동, 없으면 생성(mkdir ~/.ssh)
ssh-keygen -t <암호화방식> -b <key크기 기본3072> -C '깃헙메일'
ex)
ssh-keygen -t rsa -b 4096 -C 'github_study@email.com'
ssh-keygen -t rsa -b 4096 -C 'github_work@email.com'
- 위 와 같은 구조의 명령으로 key파일 생성
- 2개 계정을 사용할 것이기에 2번 진행
- -t 암호화 방식 지정 : rsa 지정
- -b key의 byte-size 설정 : 지정 안하면 3072 기본값으로 설정 (최대 4096)
- -C github에 등록한 email 작성 : my-mail@email.com
- 명령 입력뒤 파일명/비밀번호 설정에 대한 input 등장하니 아래내용 참고하여 설정
Enter file in which to save the key (/Users/hwang/.ssh/id_rsa): <id_rsa_이름지정>
ex)
Enter file in which to save the key (/Users/hwang/.ssh/id_rsa): work
Enter file in which to save the key (/Users/hwang/.ssh/id_rsa): study
- 터미널에 Enter 머시기 내용이 등장하면 파일명 지정 : 각각 work와 study으로 설정
- Enter를 누르고 넘긴다면 기본값 id_rsa로 설정됨, 중복될 경우 이메일로 자동 설정됨
Enter passphrase (empty for no passphrase):
- 엔터
Enter same passphrase again:
- 엔터
eval "$(ssh-agent -s)"
ssh-add -K ~/.ssh/<아까 이름 이름 지정 해뒀던 거 1> (ex)ssh-add -K ~/.ssh/study)
Identity added: /Users/niege/.ssh/study (github_study@email.com)
ssh-add -K ~/.ssh/<아까 이름 이름 지정 해뒀던 거 2>(ex)ssh-add -K ~/.ssh/work)
Identity added: /Users/niege/.ssh/work (github_work@email.com)
touch ~/.ssh/config
- .ssh폴더에 config파일 생성
vi ~/.ssh/config
- vim 에디터로 config 파일을 열고 아래와 같이 작성한다. (작성법: i 를 누르면 insert가 됨. 저장법은 esc -> :wq)
# 개인 계정
Host github.com-study
HostName github.com
User git
IdentityFile ~/.ssh/study
# 회사 계정
Host github.com-work
HostName github.com
User git
IdentityFile ~/.ssh/work
2) github SSH 설정
github.com > 갖고 있는 계정으로 로그인 > 오른쪽 상단 프로필사진 클릭 > settings > SSH and GPG keys > New SSH key
- title : 아무거나 내가 보기 좋은 것으로 지정
- key : 각 계정에 맞는 ssh-key _.pub 파일의 내용을 기입한다. 꼭 확장지 .pub 가 붙은 파일의 내용!
- 편하게 하기 : 터미널에서 pbcopy > 파일경로를 통해 파일 내용을 클립보드에 복사해 붙여넣기
3) github config url 수정
깃 저장소가 있는 폴더로 이동.
.git/ 경로에 있는 config 열어서
url = git@github.com:{GithubID}/{RepositoryName}.git
위의 부분을 다음과 같이 변경한다. (여기서 .ssh/config 파일에서 설정한 Host 값이 쓰인다.)
- 개인 계정이 사용할 .git/config 파일
[remote "orgin"] url = git@github.com-study:{GithubID}/{RepositoryName}.git
- 회사 계정이 사용할 .git/config 파일
[remote "orgin"] url = git@github.com-work:{GithubID}/{RepositoryName}.git
4) test
ssh -T git@github.com-study
Hi {GithubID}! You've successfully authenticated, but GitHub does not provide shell access.
GitHub 저장소 클론
앞으로는 깃허브 저장소에서 SSH를 이용해 클론을 하면 된다.
- SSH 방식 주소: git remote add origin git@github.com-study:githubID/react-practice.git
- 또는: git clone git@github.com-study:githubID/javascript-deep-dive.git
해당 프로젝트 격리하기
git config --local user.name "Your Name"
git config --local user.email "Your Email"
잘 됐는지 확인하기
git config -l #전역
git config -l --local #로컬 설정
'git' 카테고리의 다른 글
CI/CD ! Github Actions (0) | 2022.09.05 |
---|---|
브랜치 정리하기 (0) | 2022.08.30 |
vscode) git 관련 확장 프로그램 (0) | 2021.05.08 |
[git]Logon failed, use ctrl+c to cancel basic credential prompt (0) | 2021.05.04 |
이슈 생성하고 닫기 (0) | 2021.03.22 |