同一台计算机上的多个 GitHub 帐户应该不是问题

同一台计算机上的多个 GitHub 帐户应该不是问题

如今,使用公司的计算机或您自己的计算机工作和学习已经很普遍。但是,如果您在个人和专业环境中使用 GitHub,就会遇到严重的问题。

您是否曾经遇到过必须在同一台计算机上访问多个 GitHub 帐户而无法克隆或更新 GitHub 存储库的情况?

别担心,让我来帮助你……但首先,让我们更多地了解它背后的内容。

SSH + GitHub

SSH 代表 安全外壳协议 .它是一种网络协议,它使用密码学来验证网络服务(在网络应用层及以上运行的应用程序)上的操作并使其安全。

要通过 SSH 连接,您必须使用一对密钥。其中一个是公钥,您将与要验证自己的网络服务共享它,另一个是私钥,它将在您的本地计算机上。但是,关于这种加密和身份验证过程如何发生的细节是另一篇文章的主题。

GitHub 使用 SSH 密钥,因此其用户不必在每次访问时提供他们的用户名和密码。例如,在每次“git push”或“git clone”尝试时。

因此,一旦您在 GitHub 上设置了 SSH 密钥,例如,当您执行“git push”时,它们将用作您的用户名和密码。但因此,您不能使用相同的 SSH 密钥来验证同一台计算机上的两个或多个帐户。这就像在同一平台上为不同帐户使用相同的“用户名和密码”(您的 SSH 密钥)。

好的,但是我们如何解决这个问题呢?

解决方案

猜猜看,这个问题的解决方案是每个帐户都有一个 SSH 密钥,然后你就可以开始了,哇!

没那么容易,对吧……我们还有几步要走,我们会一起一步一步走:)

为了这篇文章,假设您将有两个环境(工作和个人)。

首先,您需要为您将在计算机上使用的每个帐户生成一个 SSH 密钥,并且 确保在被要求时提供具体姓名 它将有助于进一步的步骤。在我们的场景中,我们将需要两个,并且可以如下所示完成:

  1. 打开终端;
  2. 类型 光盘~ 确保您将位于主目录中;
  3. 检查您的计算机上是否已有 SSH 密钥,尝试转到以下目录: “~/.ssh” .如果存在,您将通过键入以下内容在此目录中生成两个 SSH 密钥: ssh-keygen -t ed25519 -C " _[[email protected]](/cdn-cgi/l/email-protection)_ " .否则,您将在您的主目录上为您的第一个 SSH 密钥运行相同的命令,然后为第二个密钥重新运行它,但在 “~/.ssh” .
  4. 将您的工作公钥添加到您的工作 GitHub 配置文件,并将您的个人公钥添加到您的个人 GitHub 配置文件。要在 GitHub 上添加一个新的 ssh 密钥,你可以去 这里 .
  5. 通过键入以下内容将两个密钥(工作和个人)添加到您的 ssh-agent: ssh-添加 ~/.ssh/<your_private_key> " .

现在您拥有所有 SSH 密钥,如果不存在,您将必须创建一个 ssh 配置文件。该文件负责向 ssh-agent “解释”每个环境使用哪个密钥。

  1. 去你的 “~/.ssh” 文件夹;
  2. 类型 ls - 她 并检查是否有一个名为“config”的文件;
  3. 如果存在,则必须对其进行编辑,如果不存在,则必须创建它。您可以通过键入 vim 配置 ;
  4. 您的配置文件应如下所示:

就是这样,你可以走了!只需注意执行那些预先在 GitHub 上编写的命令,例如在克隆存储库时。您将不得不更改这些命令的主机,如下所示:

  • 来自 GitHub 的命令如下所示: 混帐@ ** github.com** :tbastoss/ BottomNavigation_with_NavigationComponent.git
  • 替换为正确的主机后: 混帐@ ** github-个人** :tbastoss/ BottomNavigation_with_NavigationComponent.git

我的下一篇文章将讨论 .gitconfig 文件。我们将看到如何修复这些预先编写的命令,以及如何自动为每个环境设置用户名和电子邮件。所以,请继续关注:D

参考:

  1. https://en.wikipedia.org/wiki/Secure_Shell
  2. https://en.wikipedia.org/wiki/Network_service
  3. https://docs.github.com/en/authentication/connecting-to-github-with-ssh/

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/18598/45170609

posted @ 2022-09-06 09:45  哈哈哈来了啊啊啊  阅读(40)  评论(0编辑  收藏  举报