나 지금 되게 신나. 연진아.
무튼 개인적으로 Github을, 업무에는 Gitlab을 번갈아가며 사용하는 입장에서
쉴새 없는 pull/push 작업에서 token을 발급받고 확인하는 것은 굉장히 비효율적인 일...
비효율적이고 시간뺏기는 일은 개발자로써 참을 수 없어...
하지만 매번 명령어를 작성하는 것도 아니라 서버에 세팅할 때마다 구글 검색할 때마다 여간 또 귀찮을 수 없어...
비효율적이고 귀찮은 일 싫어함.
해서, 나의 편의를 위해서 정리를 해둔다.
ssh key로 손쉽게 git을 이용하는 법!
일단 서버에 접속해서 git에 등록할 ssh key를 발급하자.
> ssh-keygen -t rsa -C 'example1@gmail.com'
# Generating public/private rsa key pair.
# Enter file in which to save the key (/home/mycount/.ssh/id_rsa): example1
example1.pub example1
이제 서버와 git을 연동하기 위해서 필요한건 *.pub 인 공개키!
공개키를 복사해서 github, gitlab 등에 등록을 해주자.
내가 등록할 것은 github! (이미 등록된 키는 흐린눈 해주자.)
하면 끝~!
이 아니고 (응 아니야)
발급된 개인키도 서버에 등록을 해야 진짜 끝!
> ssh-add ~/.ssh/example
이제... token은 안녕.
잘가라.
라고 하면 추가 작업이 필요한데,
example1 example1.pub example2 example2.pub
위처럼 두 개의 키를 생성했다고 가정한 경우 유연하게 키를 사용하기 위한 설정 파일을 생성한다.
# ~/.ssh/config
Host github.com-e1
HostName github.com
User git
IdentityFile ~/.ssh/example1 # ssh key 개인키 발급위치
Host github.com-e2
HostName github.com
User git
IdentityFile ~/.ssh/example2
> git remote -v
# origin git@github.com:gitname/test.git (fetch)
# origin git@github.com:gitname/test.git (push)
이렇게 조회가 될텐데 여기서 git@github.com을 변경해주면 된다.
해당 원격 Repo의 github 계정에 등록한 ssh-key의 Host 경로를!
example1.pub이 내 계정에 등록됐다고 가정하면
> git remote set-url origin git@github.com-e1:gitname/test.git
이렇게!
참 쉽죠?