반응형
윈도우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
반응형
'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 |
