[Git] SSH Key 생성 및 등록하는 방법
먼저, 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를 등록한다.