제로부터 쌓는 개발일지
article thumbnail
반응형

윈도우10 64비트, 깃허브에 이미 가입이 되어 있고 깃 터미널을 설치했다는 전제 하에 작성

 

사실 하나의 계정을 써도 되긴 하는 데 사용용도를 나누고 싶었다.

 

 

 

SSH Key 생성

1. 깃 터미널에서 하단의 경로로 이동

필자의 경우 깔끔하게 하고 싶어서 기존의 SSH Key를 삭제해 줬다

cd ~/.ssh
ls -al

 

2. 하단의 명령어로 SSH Key 생성

이메일을 적는 란엔 깃허브에 가입된 이메일 주소를 입력해 주고 id_rsa_ 뒤엔 본인이 식별하기 쉬운 걸로 작성

ssh-keygen -t rsa -C "noname@gmail.com" -f "id_rsa_noname"
ssh-keygen -t rsa -C "unknown@gmail.com" -f "id_rsa_unknown"

 

3. 터미널에서 하단처럼 출력되면 엔터를 눌러서 생략

Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

 

4. 키 관리를 위해 ssh-agent에 새로 생성한 키들을 저장

pid 값은 매번 교체된다.

eval "$(ssh-agent -s)"
# 출력 Agent pid 121211

 

각각 생성한 개인키를 ssh-agent에 저장

ssh-add ~/.ssh/id_rsa_noname
# 출력 Identity added: /Users/username/.ssh/id_rsa_noname
ssh-add ~/.ssh/id_rsa_unknown
# 출력 Identity added: /Users/username/.ssh/id_rsa_unknown

 

ssh-agent에 정상적으로 ssh 개인키가 추가되었는지 재확인

ssh-add -l
# 출력 3072 SHA256:H... noname@gmail.com (RSA)
# 출력 3072 SHA256:N... unknown@gmail.com (RSA)

 

 

 

깃헙에 새로운 SSH 공개 Key 추가

1. 공개키 복사를 위해 만들어둔 id_rsa_noname.pub id_rsa_unknown.pub를 복사

# 복사
pbcopy < ~/.ssh/id_rsa_noname.pub
pbcopy < ~/.ssh/id_rsa_unknown.pub

# 편집기를 열어서 복사
code ~/.ssh/id_rsa_noname.pub
code ~/.ssh/id_rsa_unknown.pub

 

2. 깃헙 계정 - 프로필 - Settings - SSH and GPG keys - New SSH Key

연결할 계정별로 작성

 

 

 

SSH Config 파일 설정

1. config 파일 진입

cd ~/.ssh/config
vi config

# 참고
# config 파일이 없는 경우 vi config로 진입
# vi 에디터가 열리면 ESC를 눌러 하단에 편집모드(Insert)로 들어가서 작성
# 작성이 끝나면 다시 ESC를 눌러서 편집모드(Insert)에서 빠져나온 후 :wq를 입력
# :wq는 저장 후 vi 에디터 종료하는 명령어

 

2. 하단의 양식대로 환경설정 작성

#noname 계정에 대한 SSH 설정
Host github.com-noname
    HostName github.com
    User 깃허브 아이디
    IdentityFile ~/.ssh/id_rsa_noname
    
#unknown 계정에 대한 SSH 설정
Host github.com-unknown
    HostName github.com
    User 깃허브 아이디
    IdentityFile ~/.ssh/id_rsa_unknown
    
# HOST: ssh로 연결할때 Host 지시자로 설정한 값을 사용하므로 구분이 쉽고 편한 이름으로 작성
# HostName: github 도메인 (건들필요없음)
# User: 깃허브 아이디는 깃허브에 로그인 해서 프로필로 들어가면 확인 가능(이메일 아님)
# IdentityFile: SSH Key 경로

 

3. SSH 연결 테스트

ssh -T git@github.com-noname
ssh -T git@github.com-unknown

# 출력 : Hi 깃허브 계정! You've successfully authenticated, but GitHub does not provide shell access.

 

 

 

4. SSH를 사용해서 레파지토리 클론

# 클론할 레파지토리의 code를 클릭 후 SSH를 클릭해서 복사하면 이렇게 나온다
git@github.com:깃허브 이름/깃허브 레파지토리 이름.git

# 클론할땐 ssh config 파일의 host로 지정한 github.com-noname를 넣어준다
git clone git@github.com-noname:깃허브 이름/깃허브 레파지토리 이름.git

# code에서 보이는 ssh에는 본인이 host에서 지정해준 지시자가 없으므로 직접 넣어줘야한다.
# 본문에선 -noname이다.

# user.name과 user.email을 확인 후 수정한 다음 커밋하고 푸쉬 해야된다.
# 당연한 말이지만 터미널상에서 클론 받은 폴더의 경로로 가서 입력해야된다.

# 수정방법
git config user.name 교체깃허브아이디
git config user.email 교체깃허브이메일

# 전역설정
git config --global user.name 교체깃허브아이디
git config --global user.email 교체깃허브이메일

# 조회방법
git config user.name
git config user.email

 

 

 

Error Handling?

에러 메시지가 출력될 경우 아래처럼 동의를 구하는 항목이 나올 텐데 yes를 해주면 된다.

추측하기론 이미 하나의 깃 계정이 등록되어 있고 윈도우 환경설정도 되어있어서 뜨는 게 아닐까 싶다.

# 에러 메세지
The authenticity of host 'github.com (IP 주소)' can't be established.
대충 영어랑 숫자 key fingerprint is SHA256:...
This key is not known by any other names.
# 안내 메세지
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com' (대충 영어랑 숫자) to the list of known hosts.
# 성공 메세지
Hi username! You've successfully authenticated, but GitHub does not provide shell access.

 

 

 

Reference

하나의 컴퓨터에서 Git 계정 여러 개 사용

 

vi 에디터 명령어

 

Git bash 터미널 계정 변경

 

반응형

'Dev Setup' 카테고리의 다른 글

윈도우10 실행중인 포트 종료  (0) 2023.11.30
Git. push한 commit 메세지 수정  (0) 2023.11.20
AWS EC2 자주 쓰는 명령어  (0) 2023.11.15
Git. Repository 병합  (1) 2023.11.12
Windows10 개발환경 구축하기  (0) 2023.09.18
profile

제로부터 쌓는 개발일지

@PachyuChepe

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

profile on loading

Loading...