들어가기
이 블로그는 hexo라는 정적 웹 생성기로 만들어져 있고, hexo로 만들어진 정적웹을 github 페이지에 배포하여 운영하고 있다.
여기서 gitpage로 hexo블로그를 배포하기 위해서는 hexo 블로그를 작성하고 배포하는 pc에서 ssh키를 생성하고, 이 생성된 ssh키의 공개키를 github 계정에 등록해 줘야 한다.
이번에는 그 과정을 정리해본다. (간단한 거지만 이따금 하는 일이라 자주 까먹는다.)
환경
- windows10
- git bash
실습
1.개발PC에서 ssh 키 생성하기
일단 git bash를 열자. (cmd, power shell 등을 사용해도 상관 없으나 윈도우 커맨드를 별로 안좋아해서 git bash를 사용했다.)
git bash 명령어
pwd
cd ~/.ssh
현재 사용자 계정의 폴더에 .ssh라는 폴더 가 있는지 확인해보자.
난 현재 OS를 초기화 한 상태라서 위처럼 폴더 자체가 없다.
해당 폴더를 만들고 내부로 진입하자.
git bash 명령어
cd ~/.ssh
mkdir ./ssh
ls -al
이제 .ssh 폴더 내부에서 ssh를 생성하자.
git bash 명령어
ssh-keygen -t rsa -b 4096 -C "example@email.com"
위 명령어는 ssh 비대칭 키를 생성하는 명령어 이다.
- ssh-keygen : ssh 비대칭키 생성 명령어
- -t rsa : 암호화 타입을 rsa 방식을 사용
- -b 4096 : 생성할 키의 비트수 4096으로 지정, rsa 타입을 위해선 최소 768 비트가 필요하며 default로 2048 비트이다. 4096으로 더 난독화된 키를 생성한다.
- -C “example@email.com“ : 코멘트로 일종의 주석이다. 보통 이메일 계정이나 아이디등을 입력한다.
위명령어를 입력하면 다음처럼 공개키, 비밀키를 생성을 한다.
Enter를 눌러서 현재위치인 .ssh/id_rsa 파일을 생성하게 하자.
그 다음에는 암호를 입력하라고 한다. 이 ssh를 사용할 때 암호 입력으로 한번더 검증을 하기 위해서는 여기에 암호를 넣어주어야 한다.
그냥 enter를 누를경우 ssh키 사용시 암호입력 없이 사용이 된다.
난 암호 입력을 사용하고 싶으니 암호를 입력한다.
암호 확인을 위해서 두번 입력해 주어야 한다.
위처럼 ssh 가 생성이 완료 되었다.
id_rsa는 비밀키이고, id_rsa.pub는 공개키이다.
이 id_rsa.pub 공개키가 github에 등록해야 할 대상이다.
해당 파일을 문서 편집기로 열어서 내용을 클립보드에 복사하자.
2. github에 ssh 공개키를 등록하자.
github페이지에서 계정의 Settings로 들어가자.
왼쪽 메뉴에서 SSH and GPG keys를 클릭하자.
New SSH key 를 클릭하자.
Title에는 ssh를 설명하는 내용을 적어주고.
key에는 아까 생성하고 클립보드에 복사한 ssh 공개키를 붙여넣자.
그리고 Add SSH key 버튼을 누르면 끝!
위처럼 등록이 된다.
hexo 블로그를 github에 배포해서 동작이 되나 확인해보자.
잘 동작이 된다.
끝!!!
마무리
개발 pc에서 ssh키를 생성하고 github에 계정에 등록하면, github에 push, pull등을 할때 github 계정으로 push, pull하는 것이 아니라 이 ssh 키로 push, pull을 할 수 있다.
혹시 github push, pull 할 때 비밀번호 입력등이 귀찮은 경우, ssh 키 생성시 passphrase를 생략할 경우, 비밀번호를 생략해서 push, pull을 할 수 있다.