# 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 了。

更新于