# Hexo:配置 SSH 公钥部署
# 配置 git 使用 ssh 密钥
git 支持 https 和 git 两种传输协议。其实两种方式都可以,但是如果使用 https 协议,每次 pull、push 都要输入密码(大部分电脑上),所以建议使用 ssh 密钥对认证,可实现免密且更加安全。下面将介绍 Hexo 如何配置 SSH 公钥部署。
示例在 Windows 环境下。
# Step 1:生成密钥对
- 进入 C:\用户\[你的用户名]/.ssh
文件夹,右键唤出 PowerShell
- 输入 ssh-keygen
,并一直敲击回车至密钥图生成,可以看到文件夹中多出了两个文件: id_rsa
和 id_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 栏可不填
- 点击 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
了。