GitHub 错误 : Key already in use

标签 git github ssh ssh-keys public-key

我已经创建了两个 GitHub 帐户。一个给我的工作用户,一个给我个人。我需要 catch 一些工作,因此将我的工作 repo 克隆到我的个人电脑上。为了进行简单的“git push origin master”提交而无需一直输入我的用户名和密码,我只想将我的公钥从我的家用电脑添加到工作仓库。但是 Github 给出了这个错误:

Error: Key already use

经过一番谷歌搜索后,我发现了这个 link其中指出“要解决问题,请从其他帐户或存储库中删除 key 并将其添加到您的帐户”个人项目。毕竟我希望能够使用我的工作电脑和个人电脑为我的工作存储库编写代码。

如何在 Github 不抛出该错误的情况下添加多个“相同”公钥,以及为什么首先抛出该错误?

最佳答案

您可以再创建一对 key ,比如 id_rsa_personal.pub , 并将其添加到 Github 帐户。

接下来,创建/编辑 .ssh/config文件。

# Default GitHub
Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa

Host github-public
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa_public

Host github-personal
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa_personal

上述文件将帮助您使用多个 Github 帐户。有关背景信息,请参阅 this question 的答案。 .

接下来,您需要更改您的 .git/config远程 url 指向:

git@github-personal:<gh_username>/<gh_reponame>.git

而不是通常的:

git@github.com:<gh_username>/<gh_reponame>.git

关于GitHub 错误 : Key already in use,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21160774/

相关文章:

git - 将 merge 分支放回到 Git 中

git - 您将如何在 Git 项目的文件中包含当前提交 ID?

git - 从 git 存储库中删除 .DS_Store

linux - 为什么我会优先使用 "service sshd reload"而不是 "service sshd restart"?

svn - 我可以在没有 svnserve 的情况下通过 SSH 进行 SVN 吗?

macos - Github Mac权限问题

git - 在git中将文件批量重命名为小写

node.js - 从 git checkout 构建 yeoman 项目

java - 在Netbeans上在线发布用Java开发的网页

Github - fork 私有(private)存储库