用SSH key免去github提交时输入密码

背景

开始使用Hexo后,发布文章或做些主题上的修改总要不断的push到Github上,每次都输入用户名和密码实在是太麻烦了。
所以想使用SSH Key来免去这一步骤,不过要注意的是,一定只在你受信任的机器上这么做。

操作

修改hexo配置文件

前往你的dummy.github.io repository,查看其SSH的URL,应该是如下格式的,

git@github.com:dummy/dummy.github.io.git

修改_config.xml文件中Git repository的URL

# Deployment
## Docs: http://hexo.io/docs/deployment.html
deploy:
  type: git
  repository: git@github.com:dummy/dummy.github.io.git
  branch: master

为Github生成一个新的密钥

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

一路回车结束它提出的所有问题,你应该可以看到如下输出。

Your identification has been saved in ~/.ssh/id_rsa.
Your public key has been saved in ~/.ssh/id_rsa.pub.

将SSH Key加入Github中

前往 https://github.com/settings/ssh ,点击Add SSH key,在title中填入你能分辨这个key储存位置的名字,然后把~/.ssh/id_rsa.pub中的内容复制到下边的内容框中,添加。
然后打开Terminal进行连接测试。

ssh -T git@github.com

应该会看到如下输出:

The authenticity of host 'github.com (207.97.227.239)' can't be established. RSA key fingerprint is 11:22:aa:33:44:55:dd:66:77:bb:88:99:ee:ff:00:cc. Are you sure you want to continue connecting (yes/no)? 
#输入yes回车

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

然后就可以愉快的使用Hexo部署了。

hexo deploy

为Github生成一个新的密钥(简便方法)

直接下载Github的客户端登录,它会自动生成SSH Key并绑定你的账户。


作者:小米飯
原文地址:http://blog.zfan.me/2015/09/01/用SSH-key免去github提交时输入密码
转载、参考请注明出处,如果觉得文章对你有帮助,也请通过留言来支持一下。