修改Hexo博客上传协议为SSH


在使用过Hexo博客一段时间过后,它突然报了一个错误,让我摸不着头脑,错误如下:

......
FATAL bash: /dev/tty: No such device or address
error: failed to execute prompt script (exit code 1)
fatal: could not read Username for 'https://github.com': Invalid argument
Error: bash: /dev/tty: No such device or address
error: failed to execute prompt script (exit code 1)
fatal: could not read Username for 'https://github.com': Invalid argument
......

以我初中的英语水平还是大概能看懂这个报错的,就是说不能读取我的用户名的样子。

这个报错是hexo d命令导致的错误,无法部署(当然无法部署了,你是谁都不知道,还部署什么-.-)。

一番折腾过后,我发现网上有许多类似的问题,不过最后好像都没给出一个具体的原因,说是HTTPS协议问题,可是一开始HTTPS协议也可以使用,总之大部分回答试了过后都无法成功的解决它。最后只有改为SSH协议上传了。

按照以下步骤正确的修改为SSH协议上传:

生成ssh key

在你的GitBash中键入:

$ ssh-keygen -t rsa -C ********@qq.com(换成你使用的邮箱地址)

之后的都可以回车跳过,完成后会在你C盘的用户目录下生成一个id_rsa的公钥,具体路径看命令行中的Your identification has been saved in *****

配置Github账户的ssh key

打开id_rsa.pub文件,将一整串公钥copy下来。
进入你GitHub账户的设置,在ssh key中点击New SSH key,

1
把刚刚copy出来的公钥粘贴到Key中,title放空就好
2

验证ssh key

在GitBash中键入:

$ ssh -T git@github.com

若出现下面语句就说明你成功了!

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

通过SSH部署到GitHub上

在你博客根目录打开GitBash,键入:

$ hexo clean && hexo g && hexo d    //不是每次都需要hexo clean,看个人。

文章作者: Cody_
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Cody_ !
评论
 上一篇
Git添加多个SSH密钥以及远程仓库 Git添加多个SSH密钥以及远程仓库
使用过GitHub的小伙伴们都知道,GitHub创建私有仓库是收费的,对于一些不能公开的代码是没有办法在GitHub上进行备份的。这里我推介一个国内的代码托管网站——码云,它是一款国内的基于Git的研发协作平台,它是免费创建私有仓库的。操作
2018-03-06
下一篇 
tensorflow基础 tensorflow基础
简介:tensorflow是一个依赖于python的开源软件库,主要用于数值计算。节点(Node)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。 温馨提示:浏览链接的时候记得上飞
2018-02-24
  目录