利用SSH省去在hexo deploy输入密码
更新日期:
在安装好git,node.js,hexo后每次deploy都要输入用户名和密码,太bug了,还是把之前偷懒没有设置的ssh key补上吧
配置ssh key
这个网上很多,大致步骤如下
1、在任意文件夹下,右键git bash,到.ssh文件夹下看看是否为空,无直接创建,有备份删除创建(好暴力。。。)
1 2 3 4 | $ cd ~/.ssh $ git config --global user.name "yourname" $ git config --global user.email "youremail" $ ssh-keygen -t rsa -C "youremail"(后三个空格即可,也可以根据提示输入) |
2、这时候.ssh下将出现两个文件id_rsa和id_rsa.pub,id_rsa.pub是公钥,打开复制里面的内容
3、在github中的yourname.github.io仓库下的setting下的deploy ssh下添加key,将上述内容复制即可
4、测试
1 | ssh -T git@github.com |
出现如下信息则正常
1 2 | Hi username! You've successfully authenticated, but GitHub does not # provide shell access. |
设置传输为ssh协议
这个主要是在deploy时,保证传输时使用ssh协议以避免输入用户名和密码
1、进入存在.git文件的那个文件夹
1 | $ cd .deploy/
|
2、查看当前的传输协议,如果是http,则更改,如果是ssh则不要后续的操作了
1 2 3 | $ git remote -v origin https://github.com/USERNAME/REPOSITORY.git (fetch) origin https://github.com/USERNAME/REPOSITORY.git (push) |
3、更改http为ssh
1 | $ git remote set-url origin git@github.com:USERNAME/REPOSITORY2.git |
4、检查一下,是否进行了相应的更改
1 2 3 4 | $ git remote -v # Verify new remote URL # origin git@github.com:USERNAME/REPOSITORY2.git (fetch) # origin git@github.com:USERNAME/REPOSITORY2.git (push) |
到此大功告成,这是返回上一层目录,进行上传则不需要输入密码了~
1 2 | $ cd .. $ hexo d |