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