Git을 사용할 땐 ssh key로 간편하게!

uxmin·2023년 7월 13일
0
post-thumbnail

나 지금 되게 신나. 연진아.


처음 입사했을 때 형상관리 툴로 SVN을 이용했었는데
이미 개발 시장엔 git이 자리잡은 시점에서 SVN이 웬 말이지 싶어서 불만이 조금 있었다.
돌이켜보면 SVN을 사용해봤기 때문에 현재 git을 이용할 때 _감사한 마음을 가지는지도_?

무튼 개인적으로 Github을, 업무에는 Gitlab을 번갈아가며 사용하는 입장에서
쉴새 없는 pull/push 작업에서 token을 발급받고 확인하는 것은 굉장히 비효율적인 일...
비효율적이고 시간뺏기는 일은 개발자로써 참을 수 없어...
하지만 매번 명령어를 작성하는 것도 아니라 서버에 세팅할 때마다 구글 검색할 때마다 여간 또 귀찮을 수 없어...
비효율적이고 귀찮은 일 싫어함.


해서, 나의 편의를 위해서 정리를 해둔다.
ssh key로 손쉽게 git을 이용하는 법!

ssh key 발급

일단 서버에 접속해서 git에 등록할 ssh key를 발급하자.

> ssh-keygen -t rsa -C 'example1@gmail.com'
  • t: 암호화 타입 선언.
    - rsa (default), dsa, ecdsa, Ed25519 ...
  • C: 주석 선언. (굳이~ 안해줘도 되는데 내 마음임.)

상위 명령을 실행하면 설정을 위한 입력창이 뜬다.
따로 작성하지 않으면 id_rsa로 저장이 될거고 설정을 한다면 설정한 값으로 저장이 될 것!
# Generating public/private rsa key pair.
# Enter file in which to save the key (/home/mycount/.ssh/id_rsa): example1

발급이 끝나면 ~/.ssh 경로에 발급된 ssh key를 조회할 수 있다.
example1.pub	example1

ssh key 등록

이제 서버와 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

Host에 작성된 주소를 언제 쓰냐면,
각 레포지토리에 저장된 remote 정보를 설정할 때 사용한다.
이미 기존에 원격 Repo와 연결이 되어있다면
> 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

이렇게!
참 쉽죠?

profile
Back-end Developer

0개의 댓글