配置hexo通过ssh协议免密上传到GitHub

217 阅读1分钟

问题描述

执行"hexo d"将配置文件部署到"git"仓库的时候,如果使用的是 https 协议推送,每次都需要验证账号密码。有可能因为网络原因导致验证失败。因此我们改成 ssh 协议,这样每次验证的时候就不用输入账号密码了。

设置用户信息

git config --global user.name "用户名"
git config --global user.email "邮箱"

配置 SSH key

创建 ssh key

ssh-keygen -t rsa -C "邮件地址"

复制 key

打开用户目录,在"C:\Users\用户\用户名.ssh"路径下,找到"id_rsa.pub"文件,右键—打开方式—记事本,打开后全选复制里面的内容

复制 key

配置到 GitHub

登录"GitHub",右上角用户图标,找到"Settings",点击后找到"SSH and GPG keys" ,再点击"New SSH key" ,粘贴进去即可。

配置到 GitHub


配置 hexo

安装 hexo-deployer-git。

npm install hexo-deployer-git --save

打开_config.yml 文件,找到"deploy"部分,修改成如下:

deploy:
  type: git
  repo: <repository url> #git@github.com:xfanweb/xfanweb.github.io.git
  branch: [branch]
  message: [message]
参数描述默认
repo库(Repository)
branch分支名称gh-pages (GitHub) coding-pages (Coding.net) master (others)
message自定义提交信息Site updated: 2024-06-14 11:33:00
token可选的令牌值可选的令牌值,用于认证 repo。用 $ 作为前缀从而从环境变量中读取令牌