hexo deploy시 fatal: could not read Username for 'https://github.com': No error 발생

오랜만에 hexo deploy를 하는데

기존포스트 에서 해결했다고 생각한 에러가 또 발생했다.

hexo deploy 오류

해결방법

구글링을 해보니 기존의 hexo의 github 배포방식을 http방식이 아닌 ssh방식으로 변경하라고 한다.

1.로컬 pc 윈도우에서 내 github 계정에 ssh로 접근할 pc의 ssh키 생성

일단 자신의 헥소 프로젝트에서 git bash를 열고 아래 명령을 입력하자.

1
ssh-keygen -t rsa -b 2096 -C "github계정메일" // 엔터

위 명령어를 입력하면 아래 메세지가 나오고 그냥 엔터를 눌러 진행하자

그 다음에는 Ehter passphrase (empy for no passphrase): 라고 나오는데,

ssh를 만들기 위한 기억할만한 비밀번호를 입력해주면 된다. 그리고 확인용으로 한번더 입력한다.

그리고 아래 명령어를 입력하자.

1
eval $(ssh-agent -s)

그리고 아래 명령어도 입력하자.

1
ssh-add ~/.ssh/id_rsa

위 명령어를 입력하고 엔터 -> 뭔가 나오면 그냥 엔터 -> 끝

이렇게 하면 ssh 개인키를 생성을 완료 한 것이다. 이제 생성된 키를 복사하여 자신의 github계정에 등록을 해야 한다. 아래 명령어를 입력하여 생성된 ssh키를 클립보드에 복사하자.

1
clip < ~/.ssh/id_rsa.pub

생성된 ssh키를 github 계정에 등록하자.

github 로그인 -> Settings -> 좌측 Personal settings 메뉴의 SSH and GPG keys 클릭

->new SSH key 버튼 클릭 -> Title에는 자신이 구별할수 있는 제목을 입력하고 Key에는 위에서 클립보드에 복사한 ssh키를 붙여넣기 한다.

-> Add SSH Key 버튼 클릭

hexp deploy 설정을 http에서 ssh로 변경

헥소의 _config.yml 파일에서 deploy의 repo를 기존의 http방식에서 ssh방식으로 수정해야한다.

일단 해당 핵소 프로젝트의 배포용 github 리파지토리로 이동한다.

Clone or download에서 Use ssh를 클릭한 뒤, 그 내용을 복사 한다.

로컬 핵소 프로젝트의 _config.yml 파일로 이동하여

deploy 영역의 repo항목에 붙여 넣고, 파일을 저장한다.

결과

위 작업을 순차적으로 끝냈다면, 헥소블로그의 github deploy 문제가 해결될것이다.

디플로이를 시도하면, 작은 모달창이 뜨며 ssh생성시 입력했던 키를 물어볼것이다.

Enter passphrase (empy for no passphrase): 이때 입력했던 비밀번호를 입력해주면 된다.

참고자료

github ssh 생성방법 해당이슈에 대한 깃허브 참고자료 github ssh 사용방법(윈도우)

Related Posts

기존포스트