在使用过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
,
把刚刚copy出来的公钥粘贴到Key中,title放空就好
验证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,看个人。