前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用 Hexo 和 GitHub 实现一台电脑的搭建两个博客

使用 Hexo 和 GitHub 实现一台电脑的搭建两个博客

作者头像
Lokinli
发布2023-03-09 13:31:45
4200
发布2023-03-09 13:31:45
举报
文章被收录于专栏:以终为始

前言:一台电脑实现更新两个不同用户的 hexo 搭建的 github 博客。

如果你足够幸运进行的顺利,参考以下博客即可实现:

方法1:转发自 https://zhuanlan.zhihu.com/p/69218641

-------------------------------------------------------------------

相关问题报错:

  • 同一台电脑部署第二个Hexo博客执行hexo g -d时报错:ERROR: Permission to xxxxxx/xxxxxx.github.io.git denied to xxxxxx.
  • 添加新的 SSH 密钥 到 SSH agent 执行ssh-add xxx时报错:Could not open a connection to your authentication agent.
  • 单独设置用户名/邮箱时报错:fatal: not in a git directory

以下是详细过程: 前提:假设你的第二个博客相关配置操作已经顺利完成,但使用hexo g -d命令部署到 GitHub 上时报错:ERROR: Permission to xxxxxx/xxxxxx.github.io.git denied to xxxxxx.

● 查看当前密钥

首先我们打开终端输入ls ~/.ssh/可以查看当前已有的密钥,显示id_rsa 与 id_rsa_pub说明已经有一对密钥

● 创建新的密钥

首先使用以下命令进入 SSH根目录下:

代码语言:javascript
复制
cd ~/.ssh/

方法一

直接使用以下命令创建新密钥,然后两次回车即可:

代码语言:javascript
复制
ssh-keygen -t rsa -f  ~/.ssh/这里是新密钥名称 -C "这里是你的邮箱"

注意区别新密钥名称和旧密钥名称,不要相同!!!

方法二

使用下面命令行创建新密钥:

代码语言:javascript
复制
ssh-keygen -t rsa -C "这里是你的邮箱"

回车后会出现:

代码语言:javascript
复制
Generating public/private rsa key pair.  
 Enter file in which to save the key (/c/Users/you/.ssh/id_rsa):

注意此时需要你输入新密钥的名称,同样要注意区别新密钥名称和旧密钥名称,不要相同!!!之后再两次回车,新密钥创建完毕!

● 配置config

查看你的.ssh/根路径下, 有没有config文件,( 比如我的路径为C:\Users\Lenovo.ssh)没有则使用以下命令创建一个config文件:

代码语言:javascript
复制
touch config

用记事本或者其他工具打开config文件(注意config文件是没有任何后缀名的),写入以下配置:

代码语言:javascript
复制
#第一个账号,默认使用的账号,不用做任何更改
Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa

#第二个新账号,#"xxxxxx"为前缀名,可以任意设置,要记住,后面需要用到
Host xxxxxx.github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/这里是你创建的新密钥的名称

● 设置新GitHub账户SSH key

输入以下命令复制你创建的公钥:

代码语言:javascript
复制
clip < ~/.ssh/这里是你创建的新密钥的名称.pub

也可以直接在.ssh目录下找到你创建的新的公钥,文件名为新密钥的名称.pub,(比如我的是trhx_rsa.pub),用记事本打开,复制里面的内容,然后打开你的新GitHub账号主页,依次进入Settings —> SSH and GPG keys —> New SSH key,将刚复制的内容粘贴到Key那里,Title可以随便填,点击Add Key保存。

● 清空本地的 SSH 缓存,添加新的 SSH 密钥 到 SSH agent中

使用命令cd ~/.sshcd到.ssh根目录下,依次执行以下命令:

代码语言:javascript
复制
ssh-add -D
ssh-add xxxxxx #旧密钥名称,一般是id_rsa
ssh-add xxxxxx #新创建的密钥名称

如果执行以上命令出现错误:Could not open a connection to your authentication agent.,那么就需要先执行ssh-agent bash,再执行以上命令

● 验证配置是否成功

依次执行以下命令,第一个为默认ssh_key验证;第二个为新的ssh_key验证,其中“xxxxxx”为你先前在config文件中的命名

代码语言:javascript
复制
ssh -T git@github.com
ssh -T git@xxxxxxx.github.com

依次显示以下信息, 则说明配置成功:

代码语言:javascript
复制
Hi 你的用户名! You've successfully authenticated, but GitHub does not provide shell access.

● 取消全局用户名/邮箱配置,单独设置用户名/邮箱

执行如下命令,取消全局用户名和邮箱配置(如果已经设置了全局的话):

代码语言:javascript
复制
git config --global --unset user.name
git config --global --unset user.email

分别进入你的两个Hexo博客.git目录下执行以下命令单独设置用户名/邮箱:

代码语言:javascript
复制
git config user.name "这里是用户名"
git config user.email "这里是你的邮箱"

如果此时报错:fatal: not in a git directory,说明你没有进入.git目录下,具体路径:\Hexo\.deploy_git\.git,.git目录是隐藏的,需要你设置隐藏目录可见

执行以下命令可以查看设置是否成功

代码语言:javascript
复制
git config --list

● hexo 配置文件修改git地址

打开你的第二个博客Hexo目录下的_config.yml文件,找到deploy关键字,写入以下配置并保存:

代码语言:javascript
复制
deploy:
  type: git
  repository: git@xxxxxx.github.com:你的用户名/你的用户名.github.io.git
  branch: master

比如我的配置: less deploy: type: git repository: git@love109.github.com:love109/love109.github.io.git branch: master 大功告成,再次执行hexo g -d就能成功将新的博客部署到 Github 上了

-------------------------------------------------------------------

方法2:

很不幸的是,以上我在更新第二个hexo博客时,依旧使用的是第一个的账户,并且得到拒绝。

比较简单快捷的方法是,直接将第一个的秘钥也添加到第二个github用户上面,这样子就可以实现直接更新了,不过要注意,部署时候的路径等问题。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-02-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 方法1:转发自 https://zhuanlan.zhihu.com/p/69218641
    • ● 查看当前密钥
      • ● 创建新的密钥
        • 方法一
          • 方法二
            • ● 配置config
              • ● 设置新GitHub账户SSH key
                • ● 清空本地的 SSH 缓存,添加新的 SSH 密钥 到 SSH agent中
                  • ● 验证配置是否成功
                    • ● 取消全局用户名/邮箱配置,单独设置用户名/邮箱
                      • ● hexo 配置文件修改git地址
                      • 方法2:
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档