• SSH 的公钥是 GitHub 作为本地仓库和远程仓库连接的唯一标识,一个公钥只能对应一个 GitHub 账户,如果将一个相同的公钥上传到不同的 GitHub 账户,GitHub 则无法做出辨识,进而导致错误
  • 一台电脑,可以生成多对公私钥,可以通过配置,将不同的公钥上传到不同的 GitHub 账号,那么就不存在单个公钥绑定多个 GitHub 账号的情况存在了

# 查看当前密钥

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

# 创建新的密钥

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

cd ~/.ssh/

# 方法一

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

ssh-keygen -t rsa -f  ~/.ssh/这里是新密钥名称 -C "这里是你的邮箱"

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

# 方法二

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

ssh-keygen -t rsa -C "这里是你的邮箱"

回车后会出现:

Generating public/private rsa key pair.  
Enter file in which to save the key (/c/Users/you/.ssh/id_rsa):

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

# 配置 config

查看你的.ssh/ 根路径下,有没有 config 文件,没有则使用以下命令创建一个 config 文件:

touch config

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

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

# 设置新 GitHub 账户 SSH key

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

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 根目录下,依次执行以下命令:

ssh-agent bash
ssh-add -D
ssh-add xxx #旧密钥名称,一般是 id_rsa
ssh-add xxx #新创建的密钥名称

# 验证配置是否成功

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

ssh -T git@github.com
ssh -T git@xxx.github.com

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

Hi 你的用户名! You've successfully authenticated, but GitHub does not provide shell access.

# 取消全局用户名 / 邮箱配置

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

git config --global --unset user.name
git config --global --unset user.email

# 单独设置用户名 / 邮箱

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

git config user.name "这里是用户名"
git config user.email "这里是你的邮箱"

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

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

git config --list

# hexo 配置文件修改 git 地址

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

deploy:
  type: git
  repository: git@xxx.github.com:你的用户名/你的用户名.github.io.git
  branch: master

大功告成,再次执行 hexo g -d 就能成功将新的博客部署到 Github 上了。


参考链接:

一台电脑使用两个 / 多个 GitHub 账号部署两个 / 多个 Hexo 博客 | TRHX'S BLOG (itrhx.com)

更新于

请我喝[茶]~( ̄▽ ̄)~*

ReVoidMemories 微信支付

微信支付

ReVoidMemories 支付宝

支付宝

ReVoidMemories QQ

QQ