티스토리 뷰

반응형

GitHub SSH로 다중 계정 사용하기

 

회사(이메일 계정)와 개인계정(SSH)로 사용하려고 찾아봄

 

1. git bash로 작업

2. ~/.ssh/ 에 ssh 키 생성 하기 .ssh 폴더 없으면 만들기

$ ~/.ssh/
$ cd ~/.ssh
 # 없으면 만들기
$ mkdir ~/.ssh

3. ssh 키생성  ssh-keygen -t rsa -C [github 이메일 계정] -f [생성될 key 파일명]

$ ssh-keygen -t rsa -C "example@email.com" -f "name1"
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):   - 그냥 엔터. 패스워드 입력안해도 됨
Enter same passphrase again:                  - 그냥 엔터. 패스워드 입력안해도 됨
Your identification has been saved in name1
Your public key has been saved in name1.pub
The key fingerprint is:
SHA256:0u3DLvSg4wXVIKItR0w7xMaRNXIBzfCLdpkWUVkoxfg example@email.com
The key's randomart image is:
+---[RSA 3072]----+
|         .o.     |
|     .   ...     |
|  E   + . o .    |
| . o + * . o     |
|   o. B S        |
|    =..+oo o     |
|   oo* = .+ .    |
|  .BB+* .  .     |
|  *BB=oo...      |
+----[SHA256]-----+

4. ssh 키 생성 확인 ls -l > C:\Users\계정명\name1, name1.pub 파일 확인

$ ls -l

5. 해당 파일 .ssh 폴더에 복사(단순히 위치에 복붙해도 됨)

$ ls ~/.ssh

6. ssh config 설정하기 (.ssh 폴더 내에 config 파일 없으면 확장자 명 없이 생성해서 수정 하기)

github 사용시 git@github.com:[user]/[저장소] 되는데 ssh 사용히 git@github-[ssh키명].com:[user]/[저장소] 으로 사용하기 때문에 config에 호스트를 변경해줘야 함

즉 github.com 가 config 파일 Host github.com-name1 로 바뀌게 되는 것

아래 config 파일 내 추가

Host github.com-name1
        HostName github.com
        User example@email.com
        IdentityFile ~/.ssh/name1

7. ssh key (agent) 등록

$ ssh-add ~/.ssh/name1
Could not open a connection to your authentication agent.

# 위와같은 에러나면
#ssh-agent를 시작
$ eval $(ssh-agent)

$ ssh-add ~/.ssh/name1
Identity added: /c/Users/사용자/.ssh/name1 (example@email.com)

 

9. ssh key 조회 - ssh키명.pub 안에 내용 조회하기 > github ssh 설정에 필요함

$ cat ~/.ssh/name1.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDDdcKA+KjO58rhRV+GSFAAnzVlw
PYktJDOsgIx3WOchZa0oMTfxyXJOtu/7HIAhXyxffHZn2Ae9H9bfHiPxiqSDH+4sg1
7Zmp2JEQbcFJ0eN6bB1y9YKg6v8E8+47OYoaNplqm6wQeLjcERLBAtgdOe2YqdeS6
82zfERxwdFJUZ0lkUzybtl3RBhTZLd2TudK74HGohVJVg8WiZYipL41JFT+OqI73fI
kcVa7sozAOADPG06P9dr8LHAmSDBsOx0vm5iPQ+0BGpTN2rD33rvuErWExQg384th/
1E9nCTn7AnE2Nf/uPXoCQsjjqxlmHtbyqd/hLj5aqBcRse/IU6ZRhhBckBghRL8dbPP
oDpitADFVIU8x8p7UUXOskSLAZdD3Z9iN+SNW9pI7R/pT65LNSb+WHl/Mdebd6Yx0lR
JaIHKE9cT93tdTTxiKt1BwBjh/u3rbRe1gGATYc9O/gI2sItc9EjFDj8abBgmTu5kJqKkc
7xoBSPWrCMl7w1QLWKs= example@email.com

10. github 프로젝트 내 ssh 세팅하기

- 10.1 gitghub > 우측 프로필 > Setting

- 10.2 SSH and GPG keys > New SSH key

10.3 9번에서 조회한 ssh 키 입력  > add SSH Key

10.4 잘 생성되면 이렇게 됨

 

11. config 파일 설정 확인 - 정상적일 경우 아래와 같이 나옴

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

아래와 같이 나오는 경우도 있는데 정상 동작 했음

$  ssh -T github.com-name1
name1@gmail.com@github.com: Permission denied (publickey).

 

12. github 사용

- 프로젝트 clone 기준으로 code > SSH > 복사

git@github.com:[user]/[저장소]  > git@github-[ssh키명].com:[user]/[저장소]  이렇게 변경해서 사용해야함

6번의 ssh config의 세팅 이유임

 # github.com-name1 로 변경해야 함
 $ git@github.com-name1:사용자/저장소.git
 
 
 $  git remote add origin git@github.com-name1:사용자/저장소.git

 

git import

git init
git add .
git commit -m "최초등록"
git branch -M main
git remote add origin git@github.com-xxx:xxx/xxx.git
git push -u origin main

 

참고 :

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

https://www.irgroup.org/posts/github-%EC%BB%B4%ED%93%A8%ED%84%B0-%ED%95%9C%EB%8C%80%EB%A1%9C-%EC%97%AC%EB%9F%AC-%EA%B3%84%EC%A0%95-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0/

https://yosuniiiii.com/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%EA%B8%B0-on-mac-6588237f9671

 

끗ㅈㄷ시ㅏㅓ34ㅣ1!!

반응형