hexo+github搭建博客

前提環(huán)境:node.js git

1.hexo安裝

mkdir MyBlog
cd MyBlog
npm install hexo-cli -g
hexo init
npm install
hexo server

這個時候應(yīng)該在console會顯示:

Hexo is running at http://0.0.0.0:4000/.

這個時候直接訪問該地址,即部署到本地的博客:

本地hexo博客

2.公鑰和私鑰生成及其配置

進(jìn)入~/.ssh目錄,目錄中可能已經(jīng)存在其他公鑰和私鑰對,現(xiàn)在要專門添加一個新的公私鑰對。

//以指定名稱生成公私鑰對
ssh-keygen -t rsa -C "B" -f B

然后將公鑰添加到github賬號下

這個時候,.ssh目錄下應(yīng)該有多對公私鑰,現(xiàn)在查看密鑰列表

ssh-add -l

密鑰列表里面應(yīng)該沒有剛才新建的密鑰,現(xiàn)在將它添加進(jìn)去

ssh-add ~/.ssh/B

然后再使用ssh-add -l 發(fā)現(xiàn)已經(jīng)添加了,A是我之前添加的。

2048 ac:51:8d:fc:1e:6f:07:ca:3b:3d:c7:0b:79:ee:a1:27 A (RSA)
2048 73:81:8f:03:04:7e:56:a0:cf:22:98:52:47:12:ee:3b /Users/user/.ssh/B (RSA)

現(xiàn)在.ssh目錄中就了2對連接github.com的公私鑰對,現(xiàn)在通過.ssh下config文件去配置host,在不同的情況下通過對應(yīng)的公私鑰對連接github,配置如下:

Host github
     HostName github.com
     User git
     IdentityFile ~/.ssh/A
Host myBlog
     HostName github.com
     User git
     IdentityFile ~/.ssh/B                   

然后通過如下方式,確認(rèn)以私鑰B連接到github

ssh -T git@myBlog

輸出:

Hi yourName! You've successfully authenticated, but GitHub does not provide shell access.

說明已經(jīng)成功

3.在github上新建repo,以yourName.github.io方式命名(必須),youName是github上的賬號名稱。

4.配置hexo部署到github

vim _config.yml
deploy:
  type: git
  repository: git@myBlog:yourName/yourName.github.io.git
  branch: master

hexo配置文件的語法是冒號后面必須有空格,否則在之后部署的時候會報錯。

然后執(zhí)行如下命令,安裝git部署的工具:

npm install hexo-deployer-git --save

最后生成靜態(tài)文件并部署:

hexo g -d

訪問yourName.github.io可以查看最后部署到github上的效果

問題解答:

1.執(zhí)行hexo g -d的時候,遇到:

Error: Permission denied(publickey).

fatal: Could not read from remote repository

解決辦法:

1.先看一下.ssh目錄下的配置文件config

cd ~/.ssh

vim config

看一下host 別名配置的是什么,比如

Host github

? HostName github.com

? user git

? IdentityFile ~/.ssh/zhengzhiwenBlog

host的別名就是github

通過ssh -T git@github 看一下是否能夠連接,如果不能連接,說明github賬號下沒有配置公鑰,先去github上配置公鑰

2.確定可以通過ssh連接github之后:

查看一下系統(tǒng)ssh-key的代理:

ssh-add -l

如果出現(xiàn) The agent has no identities。說明沒有代理,需要添加,按上文中提到的方式:

ssh-add ~/.ssh/zhengzhiwenBlog

得到提示:

Identity added: /Users/zhengzhiwen/.ssh/moma (/Users/zhengzhiwen/.ssh/zhengzhiwenBlog)

說明添加成功

再試試hexo g -d命令,進(jìn)行部署。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容