在使用hexo部署时候,需要用到github的push。先说明下github有2种连接方式,一种是端口为443的https连接,一种是端口为22的ssh链接。目前hexo貌似是没法用https的方式来push。而这就需要在使用的设备上生成ssh keys,并将公钥添加到github网站。
下面是如何添加的全部过程。
当然了使用官方的说明是极好的,但我自己还是简要的阐述下正windows下的操作过程。免得要用的时候心急。
官方说明的链接:github官网说明
第一步
在cmd 或者 powershell 里输入
1 | ls -al ~/.ssh |
查看是否有类似 id_ed25519 这样标题的公钥和私钥。如果有就直接用,如果没有就创建一个。
用如下里面了创建,-t后面是秘钥类型,-c 后面设置注释文字,比如邮箱。
1 | ssh-keygen -t ed25519 -C "your_email@example.com" |
-f 指定密钥文件存储文件名。
以上代码省略了 -f 参数,因此,运行上面那条命令后会让你输入一个文件名,用于保存刚才生成的 SSH key 代码,如:Generating public/private rsa key pair.
# Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]
当然,你也可以不输入文件名,直接回车使用默认文件名(推荐),那么就会在windows的个人文件夹里的.ssh 文件夹里会生产一对公钥和私钥。
接着讲这对秘钥注册到windows的ssh agent里。
首先你要运行 ssh agent rhou
1 | eval "$(ssh-agent -s)" |
然后将秘钥添加进去
1 | ssh-add ~/.ssh/id_ed25519 |
最后就是将这个公钥上传到git hub里。
1 | clip < ~/.ssh/id_ed25519.pub |
用以上复制那个公钥里的内容,或者直接打开那个文件全选复制里面的文本内容。
添加到github里。
至此添加就完成了。
另外在一个新的环境里第一次要push内容到仓库,很多时候不成功是没有指定remote仓库。
1 | git remote -v |
来查看是否指定了remote仓库,然后错误了删除重新指定了,然后再hexo -d 来试试,应该就可以了。
删除远程仓库
1 | git remote rm origin |
重新添加远程仓库
1 | git remote add origin git@github.com:ypfno1/ypfno1.github.io |