개발

[Git] SSH Key 생성 및 등록하는 방법

sinw212 2023. 3. 9. 17:30

먼저, SSH(Secure Shell Protocol) Key란?

암호화된 원격 접속 프로토콜인 SSH 프로토콜로 서버에 접속 시, 비밀번호 대신 Key를 제출하는 방식이다.

 

SSH Key를 생성함으로써, Git 원격 저장소에서 Push, Pull 등과 같은 작업을 할 때 매번 패스워드를 묻는 과정을 생략할 수 있다.

 

SSH Key를 생성하고, Github에 등록하는 방법을 알아보자.

 

1. SSH Key 파일 확인

일반적으로 SSH Key는 ~/.ssh 경로에 존재하기 때문에 아래 명령어를 통해 확인해보자.

$ ls -al ~/.ssh

해당 경로에 id_rsa.pub 파일이 없다면, SSH Key를 생성해줘야한다.

 

만약 아래와 같은 No Such file or directory 와 같은 디렉터리가 없다는 오류가 발생할 경우 아래 명령어를 통해 생성하자.

 

#디렉터리 생성
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ ch ~/.ssh

 

2. SSH Key 생성

(1) SSH Key는 크기가 2048 혹은 4096 비트인 RSA 암호화 방식의 키여야 한다.

아래 명령어를 통해 4096비트의 RSA 키를 생성할 수 있다.

$ ssh-keygen -t rsa -b 4096 -C "git계정에 등록한 이메일"

(2) 절대 경로를 입력하여 특정 경로를 지정할 수도 있고, default 경로를 사용한다면 Enter를 누르면 된다.

$ Enter file in which to save the key (/c/Users/(사용자명)/.ssh/id_rsa): #Enter

(3) 사용자 키의 암호(passphrase)를 입력할 수도 있고, 자동로그인을 사용한다면 Enter를 누르면 된다.

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

제대로 수행이 되었다면 아래와 같이 SSH Key 생성이 완료되었다는 결과가 나온다.

 

(4) 아까 입력한 아래 명령어를 다시 입력하여 SSH Key 파일이 제대로 생성된 것을 확인할 수 있다.

$ ls -al ~/.ssh

id_rsa 는 타인에게 노출되면 안되는 private Key인 개인키이고,

id_rsa.pub 는 공개되어도 비교적 안전한 public Key인 공개키이다.

 

3. Github에 공개키(id_rsa.pub) 등록

(1) 아래 명령어를 입력하여 나오는 SSH Key(ssh-rsa 부터 이메일 끝까지)를 복사해둔다.

$ cat ~/.ssh/id_rsa.pub

(2) Github Setting 페이지 https://github.com/settings/keys 에 접속한다.

 

(3) New SSH key 버튼을 눌러 방금 복사한 공개키를 입력하고 Add SSH key 버튼을 통해 SSH Key를 등록한다.