2

我想将构建结果推送到 github,因此我使用 Git 发布者插件。但是,当我尝试将来自 Cloudbees 的 SSH 公钥添加为 Github 上的部署密钥时,Github 会告诉我:“密钥已在使用中”,因为它也是另一个存储库的一部分。

我想知道为什么我不能对多个独立的存储库使用相同的公钥?

[更新]到目前为止的答案表明问题尚不清楚。Cloudbees 生成一个密钥对并在 github 上使用它,我还没有找到创建备用密钥对的方法,所以我只能使用一对密钥。

我已将公钥添加到存储库 A,以便 Cloudbees 可以从存储库 A 中提取。但是,我想使用相同的构建推送到存储库 B。因此将相同的(我的个人 Cloudbees 密钥)添加到存储库似乎是合乎逻辑的B 所以 cloudbees 也可以推送到 repo B。

但是,在 Github 上,只有一个 repo 可以使用部署密钥:

部署密钥是存储在服务器上并授予对 GitHub 上单个存储库的访问权限的 SSH 密钥。此密钥直接附加到存储库而不是用户帐户。

所以很明显,公钥不能附加到多个 repo。但是,我想不出为什么会这样?

有人吗?

4

2 回答 2

1

您需要为用户设置 ssh 密钥,而不是存储库,因此您可以将其用于多个 github 存储库。github不允许在多个位置使用相同的密钥

于 2013-01-05T08:11:52.003 回答
0

因为密钥是用来识别用户的。这就像你只会使用密码来识别用户:如果两个用户有相同的密码,你怎么知道哪个是哪个?

密钥应该对用户是唯一的。

但是,您可以在同一台机器上生成多个密钥并将 git/ssh 配置为使用特定密钥而不是默认密钥~/.ssh/id_rsa.pub(或其他id_*.pub密钥)。

于 2013-01-05T06:12:16.823 回答