0


一台电脑多个GitHub账户利用SSH密钥进行Git

一、一台电脑使用两个GitHub账户(两个SSH)进行git

如果你有两个 GitHub 账户,并且你想要在同一台计算机上使用 SSH 访问这两个账户,你需要为每个账户生成一个 SSH 密钥对,并且在你的 SSH 配置文件中为每个账户设置一个别名,这是因为 SSH 配置文件中的别名用于指定对应的私钥,然后在 Git 命令中使用别名来指定你想要使用的账户。

生成密钥

在 Windows 上,你可以使用 Git Bash 来生成多个 SSH 密钥。以下是具体步骤:

  1. 打开 Git Bash。
  2. 输入以下命令来生成第一个 SSH 密钥:
ssh-keygen -t rsa -b4096-C"[email protected]"

请将

"[email protected]"

替换为你的电子邮件地址。当提示你输入文件路径时,输入一个新的文件路径,例如

~/.ssh/id_rsa_account1

,如下图红色框部分所示(为了方便 id_rsa_account1 可以写成 github 的用户名,最后生成的私钥和公钥会以它命名)。

在这里插入图片描述

输入完毕点击回车后,输入访问密码(图方便就直接回车不输,要保险就输个自己的密码,可能下次git的时候会需要输入这个密码)

  1. 将每个账户的公钥(文件后缀为.pub)添加到对应的 GitHub 账户。你可以在 GitHub 的设置页面中添加公钥。
  2. 重复上述步骤来生成更多的 SSH 密钥。每次生成新的密钥时,都要使用一个新的文件路径,例如 ~/.ssh/id_rsa_account2

创建配置文件(单个SSH可不用)

  1. 创建一个 SSH 配置文件:
touch ~/.ssh/config
  1. 打开 SSH 配置文件,在你的 SSH 配置文件(通常位于 ~/.ssh/config)中为每个账户设置一个别名:
# Account 1
Host github.com-account1
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa_account1

# Account 2
Host github.com-account2
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa_account2
  1. 在这个配置文件中,github.com-account1github.com-account2 是别名(图方便就GitHub张),~/.ssh/id_rsa_account1~/.ssh/id_rsa_account2 是你的私钥的路径。

那么,当你想要克隆账户 1 的仓库时,你需要使用以下命令:

git clone [email protected]:username/repo.git

在这个命令中,

username

是你的 GitHub 用户名,

repo

是你的 GitHub 仓库的名字。

github.com-account1

是你在 SSH 配置文件中为账户 1 设置的别名。

同样,当你想要克隆账户 2 的仓库时,你需要使用以下命令:

git clone [email protected]:username/repo.git

在这个命令中,

github.com-account2

是你在 SSH 配置文件中为账户 2 设置的别名。

二、只需要一个GitHub账户(一个SSH密钥)

  1. 如果你只有一个 GitHub 账户,并且你的计算机上只有一个 SSH 密钥,那么你不需要在 SSH 配置文件中设置别名。你可以直接使用 [email protected]:username/repo.git 格式的 URL 来克隆你的仓库。
  2. 如果你的 SSH 配置文件中有别名,那么你可以删除这些别名,或者你可以将 HostName 设置为 github.com,并将 IdentityFile 设置为你的 SSH 私钥的路径。例如:
# Account 1# Host anqingsan
Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/anqingsan

# Account 2 以后可以绑定我的大号

在这个配置中,

~/.ssh/id_rsa

是你的 SSH 私钥的路径。

然后,你可以使用以下命令来克隆你的仓库:

git clone [email protected]:username/repo.git

在这个命令中,

username

是你的 GitHub 用户名,

repo

是你的 GitHub 仓库的名字。

三、Git

在克隆仓库时,直接使用ssh进行克隆,而不要使用http,这样后期在 vscode 中就可以跟往常一样直接提交推送到该仓库。

你可以使用以下命令来克隆你的仓库:

git clone [email protected]:username/repo.git

在这个命令中,

username

是你的 GitHub 用户名,

repo

是你的 GitHub 仓库的名字。

要使用 SSH 推送到 GitHub,你需要确保你已经设置了 SSH 密钥,并且已经将你的公钥添加到了你的 GitHub 账户。然后,你需要确保你的远程仓库 URL 是 SSH 格式的,而不是 HTTPS 格式的。

你可以使用

git remote -v

命令查看你的远程仓库 URL。如果它是 HTTPS 格式的(例如,

https://github.com/username/repo.git

),你需要将其更改为 SSH 格式的(例如,

[email protected]:username/repo.git

)。

你可以使用

git remote set-url

命令更改远程仓库 URL。例如:

git remote set-url origin [email protected]:username/repo.git

参考链接

git如何使用ssh推送 • Worktile社区

GitHub仓库配置SSH keys步骤流程图解 - 知乎 (zhihu.com)

关于git使用ssh key认证github和gitee远程推送 - g青苹果 - 博客园 (cnblogs.com)

标签: github ssh git

本文转载自: https://blog.csdn.net/qq_49327995/article/details/138089838
版权归原作者 夢゛回邊緣☆ 所有, 如有侵权,请联系我们删除。

“一台电脑多个GitHub账户利用SSH密钥进行Git”的评论:

还没有评论