一台电脑使用多个GitHub账号部署多个Hexo博客
- SSH的公钥是GitHub作为本地仓库和远程仓库连接的唯一标识,一个公钥只能对应一个GitHub账户,如果将一个相同的公钥上传到不同的GitHub账户,GitHub则无法做出辨识,进而导致错误
- 一台电脑,可以生成多对公私钥,可以通过配置,将不同的公钥上传到不同的GitHub账号,那么就不存在单个公钥绑定多个GitHub账号的情况存在了
查看当前密钥
首先我们打开终端输入ls ~/.ssh/
可以查看当前已有的密钥,显示id_rsa
与 id_rsa_pub
说明已经有一对密钥
创建新的密钥
首先使用以下命令进入 SSH根目录下:
1 | cd ~/.ssh/ |
方法一
直接使用以下命令创建新密钥,然后两次回车即可:
1 | ssh-keygen -t rsa -f ~/.ssh/这里是新密钥名称 -C "这里是你的邮箱" |
注意区别新密钥名称和旧密钥名称,不要相同!!!
方法二
使用下面命令行创建新密钥:
1 | ssh-keygen -t rsa -C "这里是你的邮箱" |
回车后会出现:
1 | Generating public/private rsa key pair. |
注意此时需要你输入新密钥的名称,同样要注意区别新密钥名称和旧密钥名称,不要相同!!!之后再两次回车,新密钥创建完毕!
配置config
查看你的.ssh/根路径下, 有没有config文件,没有则使用以下命令创建一个config文件:
1 | touch config |
用记事本或者其他工具打开config文件(注意config文件是没有任何后缀名的),写入以下配置:
1 | #第一个账号,默认使用的账号,不用做任何更改 |
设置新GitHub账户SSH key
输入以下命令复制你创建的公钥:
1 | clip < ~/.ssh/这里是你创建的新密钥的名称.pub |
也可以直接在.ssh目录下找到你创建的新的公钥,文件名为新密钥的名称.pub
,(比如我的是trhx_rsa.pub
),用记事本打开,复制里面的内容,然后打开你的新GitHub账号主页,依次进入Settings —> SSH and GPG keys —> New SSH key,将刚复制的内容粘贴到Key那里,Title可以随便填,点击Add Key保存。
清空本地SSH缓存,添加新的SSH密钥
使用命令cd ~/.ssh
cd到.ssh根目录下,依次执行以下命令:
1 | ssh-agent bash |
验证配置是否成功
依次执行以下命令,第一个为默认ssh_key验证;第二个为新的ssh_key验证,其中“xxx”为你先前在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博客.git目录下执行以下命令单独设置用户名/邮箱:
1 | git config user.name "这里是用户名" |
如果此时报错:fatal: not in a git directory
,说明你没有进入.git目录下,具体路径:\Hexo.deploy_git.git,.git目录是隐藏的,需要你设置隐藏目录可见
执行以下命令可以查看设置是否成功
1 | git config --list |
hexo 配置文件修改git地址
打开你的第二个博客Hexo目录下的_config.yml文件,找到deploy关键字,写入以下配置并保存:
1 | deploy: |
大功告成,再次执行hexo g -d就能成功将新的博客部署到 Github 上了。
参考链接: