个人博客建站过程
本站使用GitHub Pages + Hexo搭建,前情请申请git账号,安装git,node.js,hexo-cli等等,这里可以详见以下网址:
本地建站
跟着Hexo官网走:
1 | hexo init <folder> |
这样,本地站点的初始化就完成了,下面可以在本地测试一下:
1 | hexo g //生成静态文件 |
这样的话,本地站点就搭建好了,下面就是本文重点,将本地站点部署到GitHub上。
部署到GitHub
部署是很简单的,在Hexo上面有着明确操作:
1 | hexo deploy |
就可以完成远程,但一些配置还是会显得复杂。
首先,需要在yml文件中准备部署的相关字段:
1 | deploy: |
如上,需要填写repo,branch,token,message字段。其中repo有几种方式,比如Https,SSH连接等等。但我使用Https出现连接超时的情况,所以后续都会使用SSH连接。
repo
这个很简单,找到创建的仓库,点击Code,复制SSH连接即可。
token
- 登录到您的 GitHub 帐户。
- 转到 GitHub 的 Settings(设置)页面。
- 在左侧导航栏中,选择 “Developer settings”(开发者设置)。
- 选择 “Personal access tokens”(个人访问令牌)。
- 点击 “Generate token”(生成令牌)。
- 提供一个描述,选择需要的权限。确保为 GitHub Pages 或相关存储库选择适当的权限。
- 点击 “Generate token” 完成生成。
以上来自chatGPT(笑)。
对于权限,确保以下两点一般够用:
- repo:这是一个组合权限,包括了对存储库的读写访问权限。
- delete_repo:确保不选择此权限,以防止删除存储库的权限。
设置SSH
接下来需要准备SSH,这里需要注意的是,如果你的电脑上已经有了SSH,那么就不需要再次生成,直接将公钥添加到GitHub即可。如果没有,那么就需要生成SSH。
- 生成 SSH 密钥: 如果您还没有 SSH 密钥对,请在终端中运行以下命令生成一个新的 SSH 密钥。确保您将您的电子邮件替换为您的 GitHub 邮箱地址。按照提示,选择默认位置保存密钥,并设置一个密码以增加安全性。
1 | ssh-keygen -t rsa -b 4096 -C "<your_email@example.com>" |
- 添加 SSH 密钥到 SSH 代理: 在生成 SSH 密钥后,您需要将其添加到 SSH 代理。运行以下命令:
1 | eval "$(ssh-agent -s)" |
添加 SSH 公钥到 GitHub: 打开生成的公钥文件(默认为 ~/.ssh/id_rsa.pub),并将其内容复制(很长一串,可以作为文本文件打开,全部复制)到您的 GitHub 帐户的 SSH 密钥设置中。这可以在 GitHub Settings -> SSH and GPG keys 中找到。
测试SSH连接,运行以下命令:
1 | ssh -T git@github.com |
- 部署到GitHub,运行以下命令:
1 | hexo deploy |
问题
测试SSH连接失败
- 先测试可用性
ssh -T -p 443 git@ssh.github.com
如果是以Hi开头,说明可用;
- 编辑
~/.ssh/config
文件
1 | Host github.com |
- 再次测试
1 | ssh -T git@github.com |