如何从已将 SSH 密钥添加到工作相关 GitHub 帐户的办公计算机上处​​理个人 GitHub 存储库?

Posted

技术标签:

【中文标题】如何从已将 SSH 密钥添加到工作相关 GitHub 帐户的办公计算机上处​​理个人 GitHub 存储库?【英文标题】:How to work on personal GitHub repo from office computer whose SSH key is already added to a work related GitHub account? 【发布时间】:2012-08-17 12:12:52 【问题描述】:

我想从办公计算机上处​​理我的个人 GitHub 存储库,其 SSH 密钥已添加到与工作相关的 GitHub 帐户。

就我而言,我将无法将我的个人 GitHub 帐户添加为“工作”帐户项目的协作者。我在想我可以在我的办公室计算机上添加一个新的密钥对,并将其添加到我的个人 GitHub 帐户中。但是我能以这种方式无缝地处理“工作”和“个人”回购吗?最好的方法是什么?

【问题讨论】:

您是否尝试过将相同的 SSH 密钥添加到您的个人 GitHub 帐户以查看它是否有效? @Blender - 是的,我试过了,因为我办公室电脑的 SSH 密钥已经添加到另一个 GitHub 帐户,它不会让我将相同的密钥添加到我的个人 GitHub 中。它说“密钥已在使用中” 【参考方案1】:

您可以添加任意数量的 public:private 密钥,想法是在 %HOME%/.ssh/config 文件中注册它们,以便您使用 ssh 地址定义远程,例如:

workgh:Work
persgh:Personal

请参阅“change github account mac command line”作为ssh/config 文件的示例。

在你的情况下:

#Personal GitHub
Host persgh
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa_perso

#Personal Work
Host workgh
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa_work

在不同的环境中重复使用相同的 ssh 密钥通常是不受欢迎的。 请参阅this SO question 以非交互方式生成多个 ssh 密钥。

【讨论】:

我不明白!如何区分同一主机以了解何时使用 workRSA,何时使用 homeRSA!? @Dr.jacky 因为私钥:每个条目都引用自己的私钥,其公钥已注册给不同的用户。【参考方案2】:

来自 Ruby 背景,我最终使用了“gas” ruby​​ gem。添加 git 用户是一件轻而易举的事,它可以在终端上使用一个简单的命令来切换 git 用户和键:

gas use <nickname>

这是 gem 的链接:https://github.com/walle/gas

有关其功能的视频:http://www.youtube.com/watch?v=-W2vSTwJWJc

【讨论】:

以上是关于如何从已将 SSH 密钥添加到工作相关 GitHub 帐户的办公计算机上处​​理个人 GitHub 存储库?的主要内容,如果未能解决你的问题,请参考以下文章

如何将已生成的 SSH 密钥添加到 git bash?

在VSTS上使用多个SSH密钥

以及git如何使用ssh密钥(将ssh密钥添加到g

如何通过 bash 脚本将 ssh 密钥添加到主机

如何在多台机器上使用相同的 ssh 密钥?

从变量添加 SSH 密钥