在同一台电脑上同时部署多个hexo博客
作者:下里巴人
前言:
在学习了如何搭建博客有,我便逐渐有了为辩论队搭建网站的想法,但是我发现没有我想象中的那么简单,于是在翻阅了众多大佬的记录后,磕磕绊绊终于成功实现了这个想法,便在此记录一下,供大家参考,也方便我自己以后忘了来看(*^▽^*)
一、问题来源及解决方法(引)
- SSH的公钥是GitHub作为本地仓库和远程仓库连接的唯一标识,一个公钥只能对应一个GitHub账户,如果将一个相同的公钥上传到不同的GitHub账户,GitHub则无法做出辨识,进而导致错误
- 一台电脑,可以生成多对公私钥,可以通过配置,将不同的公钥上传到不同的GitHub账号,那么就不存在单个公钥绑定多个GitHub账号的情况存在了
二、解决过程
注:接下来建立在你已经完成了博客的部署,参见搭建博客,具体即已然完成至ssh链接之前的步骤
创建新密钥
首先 在终端中输入以下指令,进入SSH根目录下,来检查已有密钥
1 | cd ~/.ssh/ |
1 | ssh-keygen -t rsa -f ~/.ssh/这里是新密钥名称 -C "这里是你的邮箱" |
新密钥的名称不能重复,需要另设一个!
配置config文件
查看你的.ssh/根路径下, 有没有config文件,没有则在此目录中创建一个config文件(不需要任何后缀!!)
紧接着,用记事本或者直接用vscode打开这个文件,写入以下配置
1 | #第一个账号,默认使用的账号,不用做任何更改 |
设置新GitHub账户SSH key
按照从前的步骤,将新的sshkey添加至你的新Github账户,这里不再赘述
清空本地的SSH 缓存,添加新的SSH密钥到SSH agent中
在终端中输入以下指令,执行操作
1 | ssh-add -D |
注:此操作终端应在ssh根目录下!
如果这时候出现如下错误:
1 | Could not open a connection to your authentication agent. |
这时你需要在终端输入,问题即可解决:
1
ssh-agent bash
验证配置是否成功
依次执行以下命令,第一个为默认ssh_key验证;第二个为新的ssh_key验证,其中“xxxxxx”为你先前在config文件中的命名
1 | ssh -T git@github.com |
依次显示以下信息, 则说明配置成功:
1 | Hi 你的用户名! You've successfully authenticated, but GitHub does not provide shell access. |
取消全局用户名/邮箱配置,单独设置用户名/邮箱
在我们第一个博客的设置中,我们不出意外应该设置的是全局变量,所以在这里我们需要取消一下全局配置,输入以下指令:
1 | git config --global --unset user.name |
这时,我们需要跳过我们前面教程中的设置用户名环节环节,直接进行部署博客(即第四步),注意,最后一步的 hexo d 不需要输入,如果没有进行这一段操作,你的目录下不会出现下面要用到的. deploy_git 文件夹!!!接下来开始设置单独变量,这是需要进入博客文件.deploy_git文件夹中,设置隐藏文件可见(属性) .git,然后在其中的config文件中加入以下配置:
1 | [user] |
hexo 配置文件修改git地址
打开你的第二个博客Hexo目录下的_config.yml文件,找到deploy关键字,写入以下配置并保存:
1 | deploy: |
注:这里的配置与之前有些许不同,比如repo的写法,这样写的好处是可以避免部署失败的情况出现,其他别无二致。
三、小结
到此,问题就解决啦,完美的在电脑上同时部署了多个hexo博客,如果遇到别的报错,大家可以联系我,或者在网上搜寻一下报错的解决方法哦(*^▽^*)



