git - 权限被拒绝(公钥): Multiple Repositories and RSA Keys Using Github

标签 git ssh github rsa

我在创建时收到权限被拒绝(公钥)错误 ssh [email protected]要求。我的感觉是这是因为 它找不到我的 .ssh 文件夹。这是我所拥有的背景 到目前为止已完成:

我之前配置了 github 来工作 与我的存储库:repo1。我跟着 github 网站上的新手指南以及 将我的存储库设置为:

/home/CodeSherpa/repo1/

这里有安全内容:

/home/CodeSherpa/.ssh

我配置了 id_rsa 和 id_rsa.pub 根据指南并把 github上我的公开公钥 键。然后我用

进行了测试

ssh [email protected]

并执行了一些推/pull/等命令 一切都很好。

现在,我想添加更多存储库。 我已经移动了本地目录结构 周围看起来像这样:

/home/CodeSherpa/repos/

*repo1 *repo2 *repo3

我已经在 github 上设置/配置了匹配的存储库。

我是管理员,应该有权访问所有内容。我想给 一名开发人员可以访问 repo1 和 repo2,但不能访问 repo3 和另一名开发人员 访问所有存储库。

我当前的问题是,当我尝试初始化新存储库时 在我的本地文件系统上,我不断收到:

“权限被拒绝(公钥)” (使用 ssh [email protected] )

我的问题是每个新存储库都必须有本地 RSA key 吗? 目前,我的 .ssh 文件夹是我最初为第一个存储库设置的位置:

/home/CodeSherpa/.ssh

我需要这样做吗:

> /home/CodeSherpa/repos/repo1/.ssh/id_rsa
> /home/CodeSherpa/repos/repo2/.ssh/id_rsa
> /home/CodeSherpa/repos/repo3/.ssh/id_rsa

然后为每个存储库设置三个唯一的公钥 在github上?

感谢您的帮助。

最佳答案

通常,每个用户只需要一个 key ,而不是每个存储库。我的建议是:

  • 删除计算机中的所有 key
  • 删除 github 中的所有 key
  • 再次遵循该流程,只需一次

但是如果您的目的是每个存储库拥有一个用户,那么每个用户将需要一个 ssh key 。为此:

  • 按照 github 中的说明操作 3 次,并为每个 key 指定不同的文件名。
  • 当您想使用其中一个 key 时,请运行ssh-add [path_to_user_1_key] ** 从此时起,您将以 user_1 身份连接到 github
  • 如果您需要以其他用户身份进行连接,例如 user_2,请运行 ssh-add -Dssd-add [path_to_user_2_key]

作为示例,我对 github 和 bitbucket 使用相同的 ssh key ,并且每台服务器上都有一些存储库。

关于git - 权限被拒绝(公钥): Multiple Repositories and RSA Keys Using Github,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5758945/

相关文章:

javascript - 如何在 package.json 中添加目录以在 npm 中发布

git - pull 请求完成后更改工单状态

ssh - 断开连接时终止远程 ssh 命令

linux - 增加ssh超时

http - 给定 git 存储库的 HTTPS URL,是否可以检索 SSH url?

git - 如何在 GitHub 上设置镜像仓库

git - 尝试从 Bitbucket 迁移到 Github,出现文件大小错误

git - 警告 : You ran 'git add' with neither '-A (--all)' or '--ignore-removal'

git - 你可以在推送代码时切换分支吗?

javascript - 如何只在我想提交的文件上运行 Prettier?