hexo之SSH KEY

##使用Github SSH Key以免去Hexo部署时输入密码

原文本来放在Hexo常见问题解决方案之中,但是由于步骤较多,理解起来比较困难,因此将本文独立出来单独成篇,以便于进行操作。

操作
修改_config.yml
将_config.yml的git信息修改为SSH形式。

###列出已存在的SSH Key
打开Git Bash,并且输入:

1
ls -al ~/.ssh

这个命令会列出你.ssh账户中已经存在的SSH key,如果之前没有设置过,一般都是没有。

###生成密钥
然后输入:

1
ssh-keygen -t rsa -C "your_email@example.com"

这个命令将会生成一个以your_email@example.com为标签的ssh key,然后bash中会显示:

1
2
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]

直接回车,然后出现:

1
2
Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]

因为追求操作方便,我们不打算在deploy的时候输入这个passphrase,所以直接回车两次设为空。然后你会看到:

1
2
3
4
Your identification has been saved in ~/.ssh/id_rsa.
Your public key has been saved in ~/.ssh/id_rsa.pub.
The key fingerprint is:
01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com

###加入SSH Agent
下一步输入:

1
ssh-agent -s

如果出现类似Agent pid XXXX这样的字样,则跳过下一步,否则输入:

1
eval `ssh-agent -s`

直到出现Agent pid XXXX这样的提示之后,输入:

1
ssh-add ~/.ssh/id_rsa

这样,你成功的在本地生成了一个可用的SSH key。

###将SSH Key添加到Github中
下面将这个key添加到github网站。
打开https://github.com/settings/ssh,点击Add SSH Key,复制id_rsa.pub中的所有内容到Key框中,在Title框中输入方便自己记忆的名字(建议输入能让自己明白是哪台电脑的名字,方便以后管理)。
当网页显示添加成功后,就已经完成了全部的操作。
下面进行一些测试,同样是打开Git Bash,输入:

1
ssh -T git@github.com

bash中会显示如下字样:

1
2
3
4
5
6
7
8
9
The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?
```bash
输入yes之后,计算机会自动将github.com列入已知的host,然后会出现如下提示:

```bash
Hi username! You've successfully authenticated, but GitHub does not
provide shell access.

如果成功看见,说明你已经配置好了,快去享受爽快的hexo一键部署吧;
如果出现任何错误提示,请仔细检查自己的操作,或者将错误信息发给我。

更新日志
2015年02月07日 独立成篇。
2015年02月16日 补充_config.yml的修改。
2015年03月22日 修复了一处代码显示BUG。

你是本站第位访客 本站访客数人次
Fork me on GitHub