본문 바로가기

[git,ssh] 맥북에서 ssh를 이용해서 깃허브 계정 여러개 사용하기

ironwhale 2022. 7. 24.

보통 깃허브 아이디는 특별한 설정을 하지 않으면 컴퓨터마다 한개씩 밖에 사용이 안되는거 같더군요. 그래서 github나 gitlab 계정을 회사계정, 개인용 프로젝트 계정 이렇게 분리하고 싶을때는 ssh-keygen을 사용해야 합니다. 

 

작업순서

1. ssh-keygen으로 공개키(Public key)와 개인용키(Public key)를 생성합니다. 

2. github에 공개키 등록

3. 접속하기 

 

공개키(Public key)와 개인용키(Public key) 생성

터미널에서 아래 명령어를 입력하면 공개키와 개인용키가 생성됩니다.

입력하면 암호를 입력하라고 하는데 그냥 저는 엔터를 두번 쳐서 암호를 생략했습니다. 어차피 저의 개인용 맥북이기 때문이죠

키 생성 명령어

ssh-keygen -t rsa -f ~/.ssh/github_key -C "my email"
  • -t : 키생성 타입을 선택합니다. 여기는 rsa 방식으로 만드는데 -b 4096을 추가하여 보안을 강화할수 있습니다. 기본값은 2048입니다. 깃허브에서는 ed25519 방식을 권장하는거 같습니다.
  • -f: 생성할 키의 파일명입니다. 파일명만 입력하면 터미널을 연 폴더에 생성됩니다. 해당 옵션을 생략하면
  • ~/.ssh 폴더에 암호화 방식_id생성의 형태로 생성 됩니다. 예시 ras_id 
  • -C: 주석인데 보통 깃허브 계정 메일주소를 입력하도록 권장합니다. 생략도 가능합니다. 

깃허브에 공개키 등록

~/.ssh 폴더에 가면 github_key와 github_key.pub 두가지 파일이 있을 겁니다.

cat github_key.pub 로 퍼블릭 키 복사

명령어를 입력하면 요상한 문자가 나올겁니다. 이걸 복사합니다. 

깃허브에 퍼블릭 키 입력

깃허브-> 세팅 -> ssh and GPG keys로가서 New SSH key를 눌러 복사한 키를 입력합니다. 


Config 값 변경

키의 이름을 기본값이 아니라 변경 했기때문에 Config를 변경 해야 합니다. -f 옵션을 사용하지 않으셨으면 스킵하여도 되는 과정입니다. 

 

Config 생성

만약 .ssh폴더에 config파일이 없으면 하나 만드시면 됩니다. 확장자 없이 그냥 config 입니다. 

configvim이나 vscode와 같은 편집기로 아래와 같은 내용을 작성합니다. 

Host github.com
    User git
    IdentityFile ~/.ssh/github_key
  • 여기서 중요한것은 Host와 IdentityFile 입니다. 
  • Host는 깃허브 주소, IdentityFile는 개인용키의 경로를 입력하면 됩니다. 

SSH 로 접속 

깃허브에 ssh 주소(?)를 복사합니다.

그 뒤 그 주소를 아래와 같이 사용하시면 됩니다. 

- git clone git@github.com:<아이디>~~~으로 클론을 하거나 

- git remote add origin git@github.com:<아이디>~~~  그냥 일단 연결만 할수 도 있습니다. 


마무리

이렇게 여러개의 키를 만들어서 사용하면 여러 계정의 깃허브를 사용할수 있습니다. 

댓글