我的Hexo博客已经部署到云服务器上了,部署过程看此文:Hexo博客部署到云服务器(Ubuntu)上
然后,因为原来是用的Github Pages,就想着顺便同步到Github Pages上吧。
一、创建Github Pages
如果还没创建的,看此文 【小白教程】免费建立静态博客网站(Github+Hexo) 中第三步“部署到Github Pages上”的部分。
如果原来已经在创建的,那就先不用管了。直接下一步,创建SSH密钥。
二、创建专用的SSH密钥
原来部署到云服务器上也是用的git,所以这里也是用的git,就方便了。
步骤:
- 进入本机SSH目录,创建一对新的SSH密钥
- 把SSH公钥添加到Github中
- 本机SSH配置文件(config)修改
- ssh测试
1.创建一对新的SSH密钥
打开【Git Bash】,运行命令进入ssh目录:
1 | cd ~/.ssh |
上面的邮箱是自己的邮箱地址,按这个邮箱地址会创建一对密钥。
注意:回车后,有以下信息提示,让你输入一个key的file名称,要记得输入一个名称,不要用默认的。
1 | Generating public/private rsa key pair. |
比如我输入github2022_rsa
(文件名可以加上_rsa
好识别)后回车,然后是输入密码,直接回车、回车,就表示用的空密码。
完成后,会显示如下的信息:
1 | Your identification has been saved in github2022_rsa |
这样,新的SSH密钥就创建好了。
2.把SSH公钥添加到Github中
在【Git Bash】中,用以下命令把公钥内容复制到系统粘贴板(clipboard)中:
1 | clip < ~/.ssh/id_rsa.pub |
- 登陆GitHub,进入Account 【Settings】;
- 选择【SSH and GPG keys】;
- 【New SSH key】,直接把复制好的公钥粘贴到Key的内容里,Title标题自己取,点击添加即可。
3.本机SSH配置文件修改
这个时候,你直接测试ssh是不通的,提示:“git@github.com: Permission denied (publickey).”
然后因为以前也用过github pages的,所以就有这个提示。
本机~/.ssh 目录有2个文件需要改动。
- known_hosts 文件
- config 文件
known_hosts文件用于验证远程登陆系统的身份。ssh可以自动将密钥添加到用户文件,也可以手动添加。该文件包含用户已连接过所有主机的公共密钥列表。一般,初次登陆,ssh会自动将远程主机的公钥添加到用户的known_hosts文件。
1).修改known_hosts 文件
要解决上面那个问题,就需要修改known_hosts 文件。
用记事本类软件打开,把github.com开头的一行删除,再保存文件就行了。
2).修改config文件
修改完上面的文件,继续ssh测试,还是有上面的问题,还有一个提醒:Warning: Permanently added 'github.com,140.82.113.3' (ECDSA) to the list of known hosts.
所以,我们把相关的配置添加到config配置文件中。(关于SSH密钥配置,config文件的介绍,这篇文章里有:Hexo SSH密钥配置)
用记事本类软件打开config文件,添加下面2段配置:
1 | Host github.com |
140.82.113.3是通过ping github.com
得到的ip地址。
4.ssh测试
配置完后在【Git Bash】中运行以下命令进行测试:
1 | ssh -T git@github.com |
看到最后一句Hi youname! You've successfully authenticated
就OK了。
三、修改Hexo配置文件(_config.yml
)
在最后的 deploy模块下添加github项。
1 | deploy: |
注:上面的111.4.22.313 为你自己服务器的ip(这里只是随便写的ip)
git@github.com后面的地址是你的 github用户名/github pages地址.git
。
这个在你的github pages仓库上,直接复制【Code】中的SSH地址是一样的。
这样就可以了。每次hexo deploy
后,也会同步部署到Github Pages上了。
- 本文标题:Hexo博客同步部署到Github Pages
- 本文作者:HDUZN
- 创建时间:2022-05-12 10:09:35
- 本文链接:http://hduzn.cn/2022/05/12/Hexo博客同步部署到Github-Pages/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!