同一台计算机上的多个 GitHub 帐户应该不是问题
如今,使用公司的计算机或您自己的计算机工作和学习已经很普遍。但是,如果您在个人和专业环境中使用 GitHub,就会遇到严重的问题。
您是否曾经遇到过必须在同一台计算机上访问多个 GitHub 帐户而无法克隆或更新 GitHub 存储库的情况?
别担心,让我来帮助你……但首先,让我们更多地了解它背后的内容。
SSH + GitHub
SSH 代表 安全外壳协议 .它是一种网络协议,它使用密码学来验证网络服务(在网络应用层及以上运行的应用程序)上的操作并使其安全。
要通过 SSH 连接,您必须使用一对密钥。其中一个是公钥,您将与要验证自己的网络服务共享它,另一个是私钥,它将在您的本地计算机上。但是,关于这种加密和身份验证过程如何发生的细节是另一篇文章的主题。
GitHub 使用 SSH 密钥,因此其用户不必在每次访问时提供他们的用户名和密码。例如,在每次“git push”或“git clone”尝试时。
因此,一旦您在 GitHub 上设置了 SSH 密钥,例如,当您执行“git push”时,它们将用作您的用户名和密码。但因此,您不能使用相同的 SSH 密钥来验证同一台计算机上的两个或多个帐户。这就像在同一平台上为不同帐户使用相同的“用户名和密码”(您的 SSH 密钥)。
好的,但是我们如何解决这个问题呢?
解决方案
猜猜看,这个问题的解决方案是每个帐户都有一个 SSH 密钥,然后你就可以开始了,哇!
没那么容易,对吧……我们还有几步要走,我们会一起一步一步走:)
为了这篇文章,假设您将有两个环境(工作和个人)。
首先,您需要为您将在计算机上使用的每个帐户生成一个 SSH 密钥,并且 确保在被要求时提供具体姓名 它将有助于进一步的步骤。在我们的场景中,我们将需要两个,并且可以如下所示完成:
- 打开终端;
- 类型
光盘~
确保您将位于主目录中; - 检查您的计算机上是否已有 SSH 密钥,尝试转到以下目录:
“~/.ssh”
.如果存在,您将通过键入以下内容在此目录中生成两个 SSH 密钥:ssh-keygen -t ed25519 -C " _[[email protected]](/cdn-cgi/l/email-protection)_ "
.否则,您将在您的主目录上为您的第一个 SSH 密钥运行相同的命令,然后为第二个密钥重新运行它,但在“~/.ssh”
. - 将您的工作公钥添加到您的工作 GitHub 配置文件,并将您的个人公钥添加到您的个人 GitHub 配置文件。要在 GitHub 上添加一个新的 ssh 密钥,你可以去 这里 .
- 通过键入以下内容将两个密钥(工作和个人)添加到您的 ssh-agent:
ssh-添加 ~/.ssh/<your_private_key> "
.
现在您拥有所有 SSH 密钥,如果不存在,您将必须创建一个 ssh 配置文件。该文件负责向 ssh-agent “解释”每个环境使用哪个密钥。
- 去你的
“~/.ssh”
文件夹; - 类型
ls - 她
并检查是否有一个名为“config”的文件; - 如果存在,则必须对其进行编辑,如果不存在,则必须创建它。您可以通过键入
vim 配置
; - 您的配置文件应如下所示:
就是这样,你可以走了!只需注意执行那些预先在 GitHub 上编写的命令,例如在克隆存储库时。您将不得不更改这些命令的主机,如下所示:
- 来自 GitHub 的命令如下所示: 混帐@ ** github.com** :tbastoss/ BottomNavigation_with_NavigationComponent.git
- 替换为正确的主机后: 混帐@ ** github-个人** :tbastoss/ BottomNavigation_with_NavigationComponent.git
我的下一篇文章将讨论 .gitconfig 文件。我们将看到如何修复这些预先编写的命令,以及如何自动为每个环境设置用户名和电子邮件。所以,请继续关注:D
参考:
- https://en.wikipedia.org/wiki/Secure_Shell
- https://en.wikipedia.org/wiki/Network_service
- https://docs.github.com/en/authentication/connecting-to-github-with-ssh/
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明
本文链接:https://www.qanswer.top/18598/45170609
标签:GitHub,帐户,计算机,SSH,ssh,密钥 From: https://www.cnblogs.com/amboke/p/16660704.html