2013-01-04 42 views
1

我想推回從構建到github的結果,因此我使用Git發佈者插件。但是,當我嘗試從Cloudbees添加SSH公鑰作爲Github上的部署密鑰時,Github告訴我:'密鑰已被使用',因爲它也是另一個存儲庫的一部分。Cloudbees&Github:錯誤:密鑰已在使用

我想知道爲什麼我不能爲多個獨立的存儲庫使用相同的公鑰?

[更新] 到目前爲止的答案表明問題不清楚。 Cloudbees生成一個密鑰對並在github上使用它,我還沒有找到一種方法來創建一個備用對,所以我被一對卡住了。

我已經添加了公共密鑰來回購A Cloudbees可以從回購A中提取。但是,我想使用相同的版本來推送回購B.因此,似乎合乎邏輯的添加相同的(我的個人Cloudbees密鑰)來回購B,所以cloudbees也可以推動回購B.

然而,在Github上只有一個回購可以使用deploy鍵:

A deploy key is an SSH key that is stored on the server and grants access to a single repo on GitHub. This key is attached directly to the repo instead of to a user account.

所以很顯然的是,公共密鑰不能連接到一個以上的回購協議。但是,我想不出爲什麼會出現這種情況?

有人嗎?

+0

可能重複的[Github,(Error:Key already in use)](http://stackoverflow.com/questions/21160774/github-error-key-already-正在使用) – kenorb

回答

0

因爲密鑰用於識別用戶。這就像你只用密碼來識別用戶:如果兩個用戶有相同的密碼,你怎麼知道哪個是哪個?

鍵應該是用戶唯一的。

但是,您可以在同一臺計算機上生成多個密鑰,並將git/ssh配置爲use a specific key而不是默認的~/.ssh/id_rsa.pub(或其他id_*.pub密鑰)。

+0

公鑰是密碼和標識,這就是PKI的美妙之處,所以你不能擁有同一個密鑰的其他標識。我無法找到Cloudbees生成另一個密鑰的方法,也不明白爲什麼這是部署密鑰所必需的... –

1

您需要爲用戶設置ssh密鑰,而不是存儲庫,以便您可以將它用於多個github存儲庫。 github不允許在多個位置使用相同的密鑰

+0

我認爲從我的問題中可以清楚地看出,該github禁止它;問題是:爲什麼? –