만약, 하나의 컴퓨터에서 깃헙 계정 2개를 나누어 사용하고 싶다면?
ssh-key 설정한 뒤, remote 주소를 ssh방식을 사용
참고 한 & 더 잘 설명된 포스팅들~
~/.gitcongig
과 로컬 프로젝트루트/.git/config
에 설정된 계정 정보를 바꿔도 안됨! 멘-붕😱SSH(시큐어 셸, Secure Shell)
네트워크로 다른 컴퓨터에 로그인/원격시스템에 명령을 실행, 파일복사를 할 수있게 하는 응용프로그램 또는 프로토콜
SSH는 암호화 기법을 사용하기 때문에, 통신이 노출된다고 하더라도 이해할 수 없는 암호화된 문자로 보인다.
위키 : SSH 참조
cd ~/.ssh
mkdir ~/.ssh
)ssh-keygen -t <암호화방식> -b <key크기 기본3072> -C '깃헙등록메일@메일.com'
ssh-keygen -t rsa -b 4096 -C 'my-mail@email.com'
: 실제 작성
-t
암호화 방식 지정 : rsa
지정-b
key의 byte-size 설정 : 지정 안하면 3072
기본값으로 설정 (최대 4096)-C
github에 등록한 email 작성 : my-mail@email.com
Enter file in which to save the key (/Users/hwang/.ssh/id_rsa): <id_rsa_이름지정>
Enter 머시기
내용이 등장하면 파일명 지정 : id_rsa_work
와 id_rsa_study
으로 설정(각자 자유롭게~)Enter
를 누르고 넘긴다면 기본값 id_rsa
로 설정됨Enter passphrase (empty for no passphrase): <엔터누르고 다음>
Enter same passphrase again: <엔터누르고 다음>
~ $ cd ~/.ssh .ssh $ ssh-keygen -t rsa -C 'my-mail@mail.com' Generating public/private rsa key pair. Enter file in which to save the key (/Users/hwang/.ssh/id_rsa): <id_rsa_이름지정> Enter passphrase (empty for no passphrase): <엔터누르고 다음> Enter same passphrase again: <엔터누르고 다음> ... <뭔가 진행 함> +---[RSA 3072]----+ | ..oB| | . .o| ... <이런박스 나옴됨> | . .+%#| | . e&E/| | .=+%%| +----[SHA256]-----+
2개의 key를 생성하고 파일 목록을 확인해보자. 아래와 같이 총 4개 파일이 생성되었다면 완료
id_rsa_study
: 기존계정-비공개-sshid_rsa_study.pub
: 기존계정-공개-sshid_rsa_work
: New계정-비공개-sshid_rsa_work.pub
: New계정-공계-ssh.pub
확장자가 붙은 파일만 공개하며, 이 파일 내용을 github계정 SSH설정에 등록하게 된다. github 계정 설정은 마지막에 살펴보자.
생성한 key를 등록해보자!
eval "$(ssh-agent -s)"
ssh-add <key파일경로>
ssh-add -l
: 등록된 key 목록을 확인
$ ssh-add ~/.ssh/id_rsa_study Identity added: id_rsa_study (등록한메일1@gmail.com) $ ssh-add ~/.ssh/id_rsa_work Identity added: id_rsa_work (등록한메일2@gmail.com)
SSH 설정파일을 작성해야 한다. 숨김폴더에 들어가 생성해도 or 터미널에서 작성 or 에디터를 사용해 작성하도록 한다.
나는 터미널 + vim을 사용하도록 하겠다.
touch ~/.ssh/config
.ssh
폴더에 config
파일 생성vi ~/.ssh/config
# 깃헙계정 work
# -------------------
Host github.com-work
HostName github.com
IdentityFile ~/.ssh/id_rsa_work
User eungeegee
# 깃헙계정 study
# -------------------
Host github.com-study
HostName github.com
IdentityFile ~/.ssh/id_rsa_study
User zu-hwang
Host : github.com-<이름지정>
: 하이픈(-
)다음에는 원하는 이름을 지정, 앞으로 계속 써야하기 때문에 짧은 문자 추천HostName
: github.comIdentityFile : ~/.ssh/ssh파일경로작성
: 각각의 ssh-key파일 경로를 작성User
: 나의 깃헙 계정지정~위 과정까지 모두 마쳤다면, github에 로그인 하여 설정페이지를 찾자.
_.pub
파일의 내용을 기입한다. 꼭 확장지 .pub
가 붙은 파일의 내용!pbcopy > 파일경로
를 통해 파일 내용을 클립보드에 복사해 붙여넣기SSH 설정에서 등록한 Host 값을 사용하여 연결테스트를 하자.
ssh -T git@github.com-지정값
ssh -T git@github.com-work
github.com-work
Host 값 작성Hi eungeegee! You've successfully ....
github.com-study
Host 값 작성Hi zu-hwang! You've successfully ....
이전까지 git 레포에 연결할때 https://github....
https 주소로 remote 했다면,
이제 그 옆에있는 use SSH
누르고 git@github.com:userid/reponame.git
방식을 사용
git remote add origin git@github.com-지정이름:깃헙계정/레포지토리명.git
github.com-지정이름
에 주의하자, 나는 지정이름을 work
로 등록했기에 아래와 같이 입력하였다.git remote add origin git@github.com-work:eungeegee/my-repo.git
위와 동일한 내용으로, 기족 프로젝트는 이미 설정되어 있는 주소를 변경하는 명령을 하면 된다.
git remote set-url origin git@github.com-지정이름:깃헙계정/레포지토리명.git
으로 설정하도록 한다!
이게 뭐라고..
굳이 계정 만들어야 했냐며, 하루 반나절 내내 찾아보고, 까먹는다고 내용 정리하고..
...
하지만!
두개 설정되니 너무 만족,
얼마나 잘 쓸지는 모르겠지만 모쪼록.. 저와 같은 분들 화이팅!
저에게 빛과 소금같은 글이 되었어요. 고맙습니다! :D