Hexo博客部署github使用ssh key

本文介绍如何配置Hexo使用SSH密钥,实现无需输入密码即可将博客文章部署到GitHub的过程。通过生成SSH密钥、将其添加到GitHub账户以及修改Hexo的部署设置,可以大大简化发布流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

以前每次使用Hexo 发布文章然后部署到github的时候总是要使用账号密码,今天终于解决了这个问题

正文

Github 使用 ssh key 相关页面

  1. 生成ssh key,如果已经有了,跳过这一步
    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    
  2. 将ssh key 添加到 Github 上
    key的文件一般在~/.ssh/id_rsa.pub
    将该文件的内容通过如下步骤添加到 Github:
    在这里插入图片描述
  3. 测试 ssh key 连接:
    ssh -T git@github.com
  4. 打开hexo的_config.yml配置文件修改部署方式:
    # Deployment
    ## Docs: https://hexo.io/docs/deployment.html
    deploy:
      type: git
      repo: git@github.com:Name/Name.github.io.git
      branch: master
    
  5. hexo d成功部署~
### 解决Hexo博客部署GitHub Pages遇到404错误的方法 当Hexo博客部署GitHub Pages后出现404错误,通常意味着请求的资源未找到。这可能是由于多种原因引起的,包括但不限于配置文件设置不当、路径问题或是部署流程中的失误。 #### 1. 检查并修正`_config.yml`配置文件 确保在Hexo项目的根目录下的`_config.yml`中正确设置了`url`和`root`参数。对于大多数情况而言,如果是在用户名.github.io这样的仓库下创建个人站点,则应如下所示设定: ```yaml # Site title: Your Blog Title author: Author Name description: Description of your blog language: # URL ## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/' url: https://yourusername.github.io root: / permalink: :year/:month/:day/:title/ ``` 注意这里的`url`应当指向实际用于访问该网站的地址,而`root`则指明了相对于域名的基础路径[^2]。 #### 2. 修改`.gitignore`忽略不必要的文件夹或文件 有时某些隐藏文件(如node_modules)可能会影响构建过程,从而导致最终生成的内容不完整。确认.gitignore已排除这些不需要提交给远程服务器的部分,以防止潜在冲突发生。 #### 3. 清理缓存重新生成静态页面 执行命令清除旧有缓存数据,并再次编译整个项目为最新的HTML版本: ```bash hexo clean && hexo generate --deploy ``` 此操作可以有效移除任何残留的数据碎片,确保新发布的文章能够被正确处理成静态网页形式上传至目标位置[^4]。 #### 4. 使用GitHub Actions自动化部署时注意事项 如果是借助于GitHub Actions实现持续集成与发布功能,在工作流定义脚本里务必指定确切的目标分支以及正确的SSH私钥权限授予方式。例如,在`.github/workflows/deploy.yml`内添加必要的环境变量声明部分: ```yaml name: Deploy to GitHub Pages with Hexo on: push: branches: - master # or main depending on repository setup jobs: deploy: runs-on: ubuntu-latest steps: ... - name: Add SSH Key for Deployment run: | mkdir -p ~/.ssh echo "$DEPLOY_KEY" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa ... ``` 这里假设已经在Settings -> Secrets存储了一对名为`DEPLOY_KEY`的有效密钥对,用来验证身份以便向受保护区域推送更改[^5]。 #### 5. 确认GitHub Repository Settings无误 最后一步是要回到GitHub上的相应repository settings界面,核实Pages选项卡里的Source字段是否选择了合适的branch作为公开入口;同时也要留意Custom domain一栏是否有输入自定义顶级域名称——如果有,请保证DNS解析记录同步更新到位[^3]。 通过上述措施调整之后,刷新浏览器查看效果,正常情况下应该能顺利解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值