我在创建时收到权限被拒绝(公钥)错误 ssh [email protected]要求。我的感觉是这是因为 它找不到我的 .ssh 文件夹。这是我所拥有的背景 到目前为止已完成:
我之前配置了 github 来工作 与我的存储库:repo1。我跟着 github 网站上的新手指南以及 将我的存储库设置为:
/home/CodeSherpa/repo1/
这里有安全内容:
/home/CodeSherpa/.ssh
我配置了 id_rsa 和 id_rsa.pub 根据指南并把 github上我的公开公钥 键。然后我用
进行了测试并执行了一些推/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 -D
和ssd-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/