본문 바로가기

Frontend study/정리 및 기록

깃헙 SSH Key 생성하기

Git 원격 저장소를 Clone하거나 Push 또는 Pull할 때 매번 비밀번호를 입력해야하는데 꽤 번거롭다.
(번거롭다기보단 귀찮은..?)

SSH Key를 생성해서 등록하게 되면 위와 같이 매번 비밀번호를 입력하지 않고 Git 작업을 할 수 있어

편하다.

그럼 SSH Key를 생성하고 등록하는 방법에 대해서 살펴보자! 

 

SSH Key 생성하기

1) SSH Key에 대해서 

SSH(Secure Shell Protocol)

 네트워크상에서 서로 통신을 할 때 보안적으로 안전하게 통신하기 위해 사용되는 접속 프로토콜(약속)이다.

 

SSH Key

 SSH 프로토콜로 서버에 접속할 때, 비밀번호 대신 Key를 제출하는 방식이다. 대표적으로 깃헙에서 사용된다. 

 

 

2) SSH Key 파일 조회하기 

 우선 gitbash를 열어서 이전에 생성해 높은 Key가 있는 지 조회한다.

 $ ls -al ~/.ssh
 

 

 만약 SSH Key 파일이 존재한다면 아래와 같이 출력된다. 

 

3) SSH Key 생성하기

SSH Key 파일이 없다면, ssh-keygen 명령어를 사용해서 아래와 같이 생성해준다. 

 $ ssh-keygen -t rsa -b 4096 -"your_email"

위와 같이 github에 등록된 자신의 이메일(깃헙 계정)을 추가한 SSH Key를 생성해준다. 

● 여기서 -t rsa는 rsa라는 암호화 방식으로 키를 생성한다는 의미이다. 
● SSH Key는 크기가 2048 bit 또는 4096 bit 인 RSA Key여야 한다. 보통 4096 로 지정 
   

이렇게 생성하게 되면 다음과 같이 나오는데 그냥 Enter해 준다.

Enter를 누르면 비밀번호를 설정하라고 나오는데, 그냥 Enter를 눌러서 자동으로 생성되도록 해준다. 

(계속  Enter를 눌러주고 있는데 절대 귀찮은 거 아님)

 

이렇게 Enter로 넘겨서 SSH Key를 생성하게 되면 아래와 같이 출력되는데 이렇게 출력되면 완료된거다. 

 

4) 생성된 SSH Key 파일을 확인해보자! 

 

깃헙에 SSH Key 등록 

1) Github 설정 페이지로 이동 및 로그인하기 

Github/login

 

2) settings 이동하기 

 

3) SSH and GPG Keys로 이동하기

 

4) New SSH Key 버튼을 눌러  SSH Key 등록하기 

위와 같이 New SSH Key 버튼을 누르게 되면 아래와 같은 화면에 나오게 된다. 

 

SSH 공개키는 아래와 같이 Title, Key를 넣어주면 된다.

 ● Title: 사용자 지정 key 이름(본인은 my_key로 지정)

 ● Key: 공개 Key 내용


Title는 my_key로(아무렇게나 입력해도 상관없는 거 같음) 지정, Key 부분에 SSH Key 를 복사해줘야하는데, SSH Key는
id_rsa.pub 파일에 담긴 Key를 넣어준다.

 

확인하는 방법은 터미널에 아래와 입력해준다. 

 $ cat ~/.ssh/id_rsa.pub

 

그런 다음, 마지막으로 Add SSH Key 누르면 SSH Key 등록이 완료된다. 

 

5) SSH 접근 방식으로 Git 원격 저장소에 접근하기 

로컬 저장소에서 원격 저장소에 접근하기 위해 SSH 복사하기

 Use SSH 버튼을 눌러서 URL(git@github.com:[계정명]/[저장소명].git) 을 복사해준다. 

 

로컬 저장소를 SSH 방식으로 Remote 해주기 

git init을 할 로컬 저장소로 이동해준다음 해당 로컬 저장소를 SSH 방식으로 원격 저장소에 연결해준다. 

 $ git remote add origin git@github.com:[계정명]/[저장소명].git
cs

이후, git add, commit, push 등의 git 작업을 할 때, 별도의 계정, 비밀번호 입력 없이 정상적으로 처리되는 것을
확인할 수 있다. 

 

참고로 기존에 https로 연결한 경우는 remote를 제거(원격 저장소와의 연결을 해제)해 준 다음에 위 방식대로 
remote 해준다. 

$ git remote show
origin
 
$ git remote remove origin
$ git remote add origin git@github.com:[계정명]/[저장소명].git
 

 

끝.