ETC -

Github SSH public Key

  • -

📌 Github SSH public Key란

안녕하세요 TriplexLab입니다.
오늘은 Github SSH public Key 2개 이상 등록하는 방법에 관해서 살펴보도록 하겠습니다.

먼저 Github에서 SSH public Key를 사용하는 이유는 보다 안전하게 암호화된 원격에 접속하기 위해서입니다.
즉 컴퓨터와 컴퓨터가 인터넷과 같은 Public Network를 통해 서로 통신을 할 때 보안적으로 안전하게 통신을 하기 위해 사용하는 접속 프로토콜입니다.

📌  STEP 1 - Git Hub용 SSH Key 생성

🎯다음 명령어를 입력한다.

(메일 계정은 본인 git계정에 등록한 이메일 주소를 써주도록 하자.)

ssh-keygen -t rsa -b 4096 -C "yourEmail@example.com"

👉 참고

- t  rsa는 rsa라는 암호화 방식으로 키를 생성한다는 의미다
- SSH 키는 키 크기가 2048비트 또는 4096비트인 RSA 키여야 합니다. 나와 같은 경우는 4096으로 지정하였습니다.

🎯다음과 같이 나오면 그냥 엔터를 입력합니다.

(특정 경로 지정이 필요한 경우 절대 경로 입력하면 적용 가능합니다.)

# Generating public/private rsa key pair. 
# Enter file in which to save the key (/home/user/.ssh/id_rsa):

🎯사용자 키의 암호 설정도 자동 로그인을 사용하려면, 입력하지 않고 엔터를 입력하여 넘어갑니다.

# Enter passphrase (empty for no passphrase): 
# Enter same passphrase again:

👉 참고

- 혹시 실수로 비밀번호를 생성한 경우 다음 명령어로 비밀번호를 재생성하는 명령어 입력 후 엔터로 넘어가면 됩니다.
- 물론 키를 삭제하고 다시 생성할 수도 있습니다.

ssh-keygen -p

GitHub 계정용 SSH Key 생성

생성된 ssh key를 확인해 보겠습니다.

$ cat ~/.ssh/id_rsa.pub

ssh-rsa라고 시작하는 암호화된 키값을 확인할 수 있습니다.

ssh-rsa 암호화된 키값 내용을 복사합니다.

📌 STEP 2 - SSH Key 생성 확인하고 Github에 등록(SSH key 등록)

SSH Public Key 파일의 위치를 확인하고, Public Key값을 복사합니다.
복사한 Key 값을 계정의 SSH Key 값으로 등록합니다. 

GitHub에서 SSH Key등록

Title 내가 알 수 있는 이름명을 작성하면 되고,
Key에다가 위에서 복사한 키값을 붙여 넣기 합니다.

복사한 키값을 붙여넣기 한다.

 

📌 STEP 3 - SSH config에 GitHub.com-{your_id} 반영

GitHub에 SSH 연결 시 identityfile 옵션을 사용해서 GitHub용 Key 파일로 지정합니다.

//.ssh 설정파일로 접근합니다(vim 편집기 사용)
$ vim ~/.ssh/config

Host 주소를 github.com-{your_id}로 설정하고, 
Host Name은 github.com, 
User는 git을 설정, 
identityfile은 위에서 생성한 SSH Key 파일로 지정합니다.
(다음 예시 참고하세요👇👇)

구분  내용 비고
Host github.com-[사용할 이름] 본인이 원하는 이름 지정 앞으로 자주 쓸 이름이므로
최대한 기억에 남는 이름으로 지정 필요!
HostName github.com  
IdentityFile ssh-key 파일 경로  
User GitHub 계정 이름  

 

.ssh 설정파일에서 GitHub 계정 2개 설정해 놓은것 입니다.

저같은 경우 용도를 명확히 구분하기 위해 개인적으로 github 계정을 2개를 사용하고 있습니다.
그래서 .ssh 설정파일에 계정을 2개 넣은 것 입니다. 이에 관한 자세한 포스트는 추후가 다시 작성하도록 하겠습니다.

📌 STEP 4 - 저장소 별 git config 파일 수정

터미널에서 프로젝트 로컬 리포지토리로 가서 아래 명령어를 사용합니다.

#설정된 config 값들을 한눈에 볼 수 있다.
git config --list

 프로젝트 별로 다른 이름과 다른 메일로 커밋을 하고 싶은 경우에는 지역 설정으로 프로젝트별로 설정을 사용하면 됩니다. 

#지역 설정
git config user.name "유저이름"
git config user.email "유저이메일"

#사용 예시
git config user.name "YounHoSo"
git config user.email "thdbsgh3443@naver.com"

프로젝트 별로 따로 커밋을 하는 경우가 아니라면 전역으로 설정하셔도 됩니다.

#전역 설정
git config --global user.name "유저이름"
git config --global user.email "유저이메일"

#사용 예시
git config --global user.name 'YounHoSo'
git config --global user.email 'thdbsgh3443@naver.com'

 

📌 STEP 5 - Git clone 사용 시 변경 사항

Git clone 명령어를 사용해서 GitHub의 Repository을 로컬에 복사합니다.

GitHub clone SSH 주소 복사하는 모습

📌 결과 확인

한번 사용해 봅시다.
내가 원하는 대로 잘 clone을 해오는지 확인해 봅시다.

$ git clone git@github.com:TriplexLab-So/원격저장소이름.git

이와 같이 clone을 하면 시스템 passwords를 입력하지 않고 바로 clone 합니다.

시스템 passwords를 입력하지 않고 바로 clone 합니다.
GUI에서도 성공적으로 확인

 

📌  STEP 6 - 비밀번호 입력 없이 PULL / PUSH  바로 할 수 있습니다.

PULL / PUSH 할때 비밀번호 입력 없이 바로 실행이 가능

에디터 터미널을 자세히 보면 비밀번호를 물어보는 명령은 없는 것을 확인할 수 있습니다!! 👍👍👏 

 

관련한 글 내용 확인 할수 있습니다.👇

 

GitHub 토큰 인증 로그인

🔒 GitHub 토큰 인증 로그인 안녕하세요 TriplexLab입니다. 오늘은 GitHub에서 ID/PW기반의 Basic Authentication 인증을 금지하고, ID/Personal Access Token 방식의 Token Authentication 인증을 요구하고 있어..

triplexlab.tistory.com

 

VIM 명령모드 텍스트 치환하기

👨‍💻 VIM 명령모드 텍스트 치환하기 안녕하세요 TriplexLab 입니다. 최근에 유닉스 커맨드 라인을 공부하고 있는데 좀 신기하고, 재미 있는 것을 찾아서 정리 할려고 합니다. VIM란 VIM은 CLI환

triplexlab.tistory.com

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.