文章目录
  1. 1. 配置ssh key
  2. 2. 设置传输为ssh协议
  3. 3. 参考

在安装好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

参考


文章目录
  1. 1. 配置ssh key
  2. 2. 设置传输为ssh协议
  3. 3. 参考

eesly_yuan

ee or cs, this is a question