카테고리 없음

한 컴퓨터에서 github ssh로 여러 계정 사용하기

志者必得 2022. 8. 1. 11:21

예전에는 회사 끝나고는 그냥 개인 윈도 랩탑을 사용했는데 요즘은 맥이 편해서 저 윈도우는 쓰기가 힘들더라고요. 그래서 요즘은 회사 맥으로 일 끝나고도 공부나 유튜브를 보고 있었습니다. 그러던 중 개인 프로젝트를 해보려고 개인 깃 어카운트를 통해서 리포를 새로 시작하려는데 계속 Permission 문제가 생겨서 찾아보고 성공적으로 git push --set-upstream origin master 를 성공해서 글로 남겨두려고 합니다. 

 

github ssh키 새로 만들기

먼저 원래 사용하는 ssh는 그냥 내버려 두고 새로 필요한 ssh key를 만들어 보겠습니다.

아래와 같이 새로운 ssh를 만들어 줍니다.

ssh-keygen -t ed25519 -C "your_email@example.com"

그럼 아래처럼 path를 입력해 줍니다. 이미 같은 알고리즘으로 ssh를 썼다면 아마 이미 같은 이름이 있을 테니 새롭게 

/Users/you/. ssh/id_personal처럼 정해 줍니다.

Enter a file in which to save the key (/Users/you/.ssh/id_algorithm): [Press enter]

다음으로 passphrase를 설정해 줍니다.

> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]

새로 생성된 키 github 등록

pbcopy < 만든키이름.pub

 

이제 ~/.ssh로 가서 새로 만든 키를 시스템에 등록해주러 갑시다. 아래 링크로 가서 New SSH key를 누르고 붙여 넣기를 해줍시다.

https://github.com/settings/keys

 

 

이제 ssh config를 조금 바꿔 줘야 합니다. 아래처럼 config를 vi로 열어 줍시다.

vi ~/.ssh/config 

 

이미 github를 사용하고 있으면 기본 설정으론 아래와 같을 것입니다. 모든 호스트는 기본 ssh 키인 

Host *
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_ed25519

 

아래처럼 *를 work로 바꿔 주고 다음 새로 만든 키를 personal로 지정 해 줍니다.

Host work
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_ed25519

  
Host personal
  Hostname github.com
  User git
  IdentityFile /root/.ssh/id_personal_ed25519

 

ssh-key를 ssh-agent에 등록하기

ssh-add ~/.ssh/id_ed25519
ssh-add ~/.ssh/id_personal_ed25519

 

ssh agent에 키가 등록되었는지 확인해보기

ssh-add -l

만약에 내가 입력한 키들이 보인다면 성공

 

리포 가서 origin url 변경해주기

git remote add origin git@personal:username/repo-a.git

이상으로 모든 설정이 끝이 났습니다. 이제 회사 컴퓨터에서도 퍼스널 프로젝트를 할 수 있게 되었습니다. 일하면서도 많은 공부를 하셔서 좋은 개발자가 되길 바라겠습니다. 

 

위에 방법들이 안될 경우 시도해 볼만한 방법들

 sshCommand를 직접 config파일에 넣어 버리는 방법이 있습니다.

git config --add --local core.sshCommand 'ssh -i <<<PATH_TO_SSH_KEY>>>'

 설정이 성공적으로 완료 되었다면 .git/config 파일에 아래 처럼 방금 입력한 ssh key path가 보있것 입니다.

 

 sshCommand = ssh -i ~/.ssh/id_ed25519...