깃허브 계정 2개 설정하기

younoah·2022년 6월 3일
1

[Git]

목록 보기
14/14

ssh란?

ssh란 secure shell protocol의 약자로 컴퓨터가 다른 컴퓨터와 통신을 안전하게 하기 위해 사용되는 프로토콜이다. Github과 같은 Remote Repository는 SSH를 이용해 Repository를 업데이트해야 안전한다.


깃허브에 SSH연결 설정하기

public, private ssh key 쌍을 만든 후, private key는 보인 컴퓨터에 등록하고 public key는 Remote Repository인 Github에 등록하는 방법으로 진행된다.

순서는 아래와 같다.

  1. SSH Key 만들기
  2. SSH Key를 로컬 ssh-agent에 등록하기
  3. ssh config 파일 작성하기
  4. public SSH Key를 GitHub에 등록하기

SSH Key 만들기

먼저 ssh라는 이름의 숨겨진 폴더로 이동한다.

$ cd ~/.ssh

이동하였다면 아래 명령어를 입력하여 ssh-key를 생성한다.

$ ssh-keygen -t rsa -C [GitHub 이메일 계정]

# example 
$ ssh-keygen -t rsa -C "younoah@naver.com"

잠시 기다리면 아래와 같이 파일의 이름을 작성하라고 나온다,

Enter file in which to save the key (/Users/younoah/.ssh/id_rsa):

이때 그냥 Enter를 입력하면 id_rsa로 저장이 되고 그렇지 않으면 내가 입력한 값이 저장된다.

나는 아래와 같이 2개로 이름을 지어서 생성했다.

  • id_rsa_younoah
  • idrsa회사계정

그러고 나면 아래와 같이 비밀번호를 입력하라고 나오는데 비밀번호를 따록 설정하지 않을것이기에 Enter를 입력하여 넘어간다.

$ Enter passphrase (empty for no passphrase): [엔터]
$ Enter same passphrase again: [엔터]

ls 명령어로 잘 생성이 되었는지 확인한다.

$ ls
> id_rsa_younoah id_rsa_younoah.pub

pub 파일은 공개 ssh 파일이고 일반 파일은 비공기 ssh파일이다.

위 과정을 한번 더 진행하여 다른 계정 용도의 ssh-key를 생성하여 총 2쌍의 ssh-key를 만든다.


SSH Key를 로컬 ssh-agent에 등록하기

이제 생성한 키를 등록해줄 차례이다. 아래 명령어를 이용하여 등록해준다.

$ ssh-add ~/.ssh/id_rsa_younoah

실행하고 나면 아래와 같이 나오면 정상이다.

Identity added: /Users/younoah/.ssh/id_rsa_younoah (younoah@naver.com)

잘등록이 되었는지 확인하고 싶다면 아래 명령어를 입력해보자.

$ ssh-add -l
> 3072 SHA256:~~~ younoah@naver.com (RSA)

ssh config 파일 작성하기

ssh-key를 생성했으면 config 파일을 생성하고

$ vi ~/.ssh/config

아래 내용을 입력하자

# GitHub 계정 younoah
# --------------------
Host github.com-younoah
HostName github.com
User younoah
IdentityFile ~/.ssh/id_rsa_younoah

# GitHub 계정 회사계정
# --------------------
Host github.com-회사계정
HostName github.com
User 회사계정 아이디
IdentityFile ~/.ssh/id_rsa_회사계정

GitHub계정 SSH 설정

깃허브에 접속하여 아래 경로로 이동한다.

프로필 → Settings → SSH and GPG keys

이후 SSH Keys 항목에서 New SSH Key 버튼을 클릭하고 아래 내용을 입력하자.

Title : 본인이 원하는 이름 지정
Key : 생성한 공개 ssh-key 값

key에 들어갈 내용은 아래 명령어를 통해서 공개키의 값을 복사해서 넣어주면 된다.

$ cat id_rsa_younoah.pub

설정이 제대로 되었는지 확인하기

잘 설정이 되었는지 궁금하다면 아래 명령어를 입력해보자

$ ssh -T git@github.com
> Hi younoah! You've successfully authenticated, but GitHub does not provide shell access.

ssh-key 활용하기

  • 리모트 연결하기
$ git remote add origin git@github.com-younoah:저장소이름.git

  • 클론받기
$ git clone git@github.com-younoah:저장소이름.git

  • 레파지토리 계정을 격리하기

레포별로 로컬 유저 네임, 이메일 설정해주기

$ git config --local user.name 'younoah'
$ git config --local user.email 'younoah@naver.com'

참고하면 좋은 블로그
https://somjang.tistory.com/entry/%EB%A7%A5%EB%B6%81%EC%97%90%EC%84%9C-GitHub-%EA%B3%84%EC%A0%95-%EC%97%AC%EB%9F%AC%EA%B0%9C-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95

https://computer-science-student.tistory.com/367

https://1ilsang.dev/2020-02-30/devtip/github-multi-auth

profile
console.log(noah(🍕 , 🍺)); // true

0개의 댓글