Hexo:配置 SSH 公钥部署

配置 git 使用 ssh 密钥

git 支持 https 和 git 两种传输协议。其实两种方式都可以,但是如果使用https协议,每次pull、push都要输入密码(大部分电脑上),所以建议使用ssh密钥对认证,可实现免密且更加安全。下面将介绍Hexo如何配置 SSH 公钥部署。

示例在Windows环境下。

Step 1:生成密钥对

- 进入 C:\用户\[你的用户名]/.ssh 文件夹,右键唤出 PowerShell

- 输入 ssh-keygen,并一直敲击回车至密钥图生成,可以看到文件夹中多出了两个文件:id_rsaid_rsa.pub

实例:

SerokSSR@Desktop-ABCDEFG ~\.ssh
> ssh-keygen  
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\SerokSSR/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in C:\Users\SerokSSR/.ssh/id_rsa.
Your public key has been saved in C:\Users\SerokSSR/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:fO7pVFqZ464nC8H6B3pTE8cwPx2mTM0G8KJt7Or2L8o SerokSSR@DESKTOP-ABCDEFG
The keys randomart image is:
+---[RSA 2048]----+
|          ...+   |
|          o.. *  |
|          .B.= . |
|       o +..Bo.  |
|        S =o*.   |
|       ..*o= .   |
|      ...o=..    |
|      .o+=+o.    |
|       +E*BBo    |
+----[SHA256]-----+

Step 2:配置远程仓库的公钥

- 访问GitHub,点击 头像 -> Settings -> 左侧SSH and GPG keys -> 右上New SSH key

- 打开你刚才生成的 /.ssh/id_rsa.pub,把里面的内容全选复制到Key栏中,Title栏可不填

image.png

- 点击 Add SSH key,完成添加

Step 3:验证密钥是否生效

控制台输入 ssh -T git@github.com,出现如下回复则密钥已生效。

SerokSSR@DESKTOP-ABCDEFG ~\.ssh
> ssh -T git@github.com
Hi SerokSSR! Youve successfully authenticated, but GitHub does not provide shell access.

Step 4:添加 SSH 仓库

在你的博客根目录下的 _config.yml,找到 deploy选项,将你仓库的ssh链接添加至此处。

实例:

deploy:
- type: git
  repo: git@github.com:SerokSSR/snow.git
  branch: master

Step 5:配置Hexo部署

为了方便每次部署,可以在你的博客根目录下新建 deploy.sh,添加以下内容:

#!
echo "Start"
hexo clean
hexo generate
hexo deploy
echo "Finish"
echo 按任意键继续
read -n 1

然后每次部署就可以直接运行这个脚本,而不用每次都要敲一遍 hexo cl&&hexo g&&hexo d了。