Hexo deploy시 github.com 인증 오류

에러

hexo deploy를 실행하니 다음과 같이 에러 발생.

1
fatal: Authentication failed for ~~

SSH Key 생성

1
ssh-keygen -t rsa -C "Github 계정 e-mail"

file 물어보는데 그냥 엔터 입력 (이 디렉토리를 바꾸면 동작하지 않으니 주의할 것!)
passphrase는 GitHub의 패스워드 아님 (그냥 엔터 눌러도 됨)

생성 예제

1
2
3
4
5
6
7
8
9
# ssh-keygen -t rsa -C "계정 e-mail"
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256: ~~~

GitHub.com 로그인

  • Settings로 이동
  • SSH & GPG Keys 선택
  • New SSH Key 버튼 클릭
  • Title에는 식별할 수 있는 이름 입력하고, Key에 아까 엔터친 파일명 뒤에 .pub를 붙인 파일의 내용 복붙
    1
    cat /root/.ssh/id_rsa.pub
  • Add SSH Key 버튼 클릭

등록 확인

1
2
# ssh -T git@github.com
Hi (GitHub ID)! You've successfully authenticated, but GitHub does not provide shell

Hexo Config 파일 변경

  • _config.yml 파일 변경
  • Before
    1
    2
    3
    4
    5
    6
    # Deployment
    ## Docs: https://hexo.io/docs/one-command-deployment
    deploy:
    type: git
    repo: https://github.com/(GitHub ID)/(GitHub ID).github.io.git
    branch: master
  • After
    1
    2
    3
    4
    5
    6
    # Deployment
    ## Docs: https://hexo.io/docs/one-command-deployment
    deploy:
    type: git
    repo: git@github.com:(GitHub ID)/(GitHub ID).github.io.git
    branch: master

Hexo 블로그 세팅 방법

Hexo 카테고리 생성 방법

카테고리를 어떻게 만드는지 몰라서 한참 헤멨다.

따로 카테고리를 미리 구성해 놓고 그걸 글에서 지정하는 것이 아니고, hexo new로 새 포스트를 작성하고 그 글(.md 파일)에 categories를 써주면 그것들을 모아서 카테고리를 구성해 주는 방식이었다.

이 글에 지정된 태그와 카테고리는 다음과 같다.

1
2
3
tags: [hexo, category]
categories:
- [Web Programming, Hexo]

Hexo 사용 방법

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment