我想将构建的结果推回到github,因此我使用Git发布者插件。但是,当我尝试从Cloudbees添加SSH公钥作为Github上的部署密钥时,Github告诉我:“密钥已经在使用中”,因为它也是另一个存储库的一部分。
我想知道为什么我不能为多个独立的存储库使用相同的公钥?
[更新] 到目前为止的答案表明问题尚不清楚。 Cloudbees生成一个密钥对并在github上使用它,我没有找到创建备用对的方法,所以我被困在一对。
我已将公钥添加到repo A中,因此Cloudbees可以从repo A中提取。但是,我想使用相同的构建来推送回购B.所以添加相同的(我的个人Cloudbees密钥)似乎合乎逻辑为了回购B,所以cloudbees也可以推动回购B.
但是,在Github上只有一个repo可以使用deploy键:
部署密钥是存储在服务器上的SSH密钥,用于授予对GitHub上的单个存储库的访问权限。此密钥直接附加到repo而不是用户帐户。
很明显,公钥不能附加到多个仓库。但是,我想不出为什么会这样的原因?
任何人
答案 0 :(得分:1)
您需要为用户设置ssh密钥,而不是存储库,因此您可以将其用于多个github存储库。 github不允许在多个位置使用相同的密钥
答案 1 :(得分:0)
因为密钥用于标识用户。这就像你只会使用密码来识别用户:如果两个用户拥有相同的密码,你怎么知道哪个是哪个?
密钥应该是用户唯一的。
但是,您可以在同一台计算机上生成多个密钥,并将git / ssh配置为use a specific key,而不是默认的~/.ssh/id_rsa.pub
(或其他id_*.pub
密钥。)