2014-01-16 56 views
10

我創建了兩個GitHub帳戶。一個用於我的工作用戶,另一個用於我的個人自我。我需要趕上一些工作,並將我的工作回購克隆到我的個人電腦上。爲了做簡單的「git push origin master」提交而不輸入我的用戶名和密碼,我只是想將我的公鑰從我的家用電腦添加到工作回購中。然而Github上給出了這樣的錯誤:GitHub錯誤:密鑰已被使用

Error: Key already use 

有點谷歌搜索我碰到這link其中指出來了之後「要解決這個問題,從其他帳戶或資源庫中刪除密鑰,並將其添加到您的帳戶」當然有是一個重複的密鑰,因爲我已將我的家庭公鑰添加到github中,以便我可以在我自己的個人項目上編寫代碼。畢竟,我希望能夠使用我的工作電腦和個人電腦代碼到我的工作回購。

如何添加多個「相同的」公共密鑰而沒有Github拋出該錯誤,以及爲什麼在這個世界上,這個錯誤是在第一個地方拋出?

+1

爲什麼你需要相同的密鑰?只需創建一個新密鑰並將其連接到您的帳戶。 – PeeHaa

+0

只需創建一個其他密鑰對,並將其保存在本地,並將第二對公共部分放入github的其他帳戶 –

+2

GitHub將使用該密鑰作爲通過SSH連接時識別您的方法。因此,您不能擁有多個具有相同密鑰的帳戶,因爲GitHub無法分辨您要使用哪個帳戶。 – poke

回答

13

您可以創建一個更多的密鑰,例如id_rsa_personal.pub並將其添加到github帳戶。 爲了從同一臺PC訪問兩個github賬戶,請編輯.ssh/config文件。

# Default GitHub 
    Host github.com 
     HostName github.com 
     User git 
     IdentityFile ~/.ssh/id_rsa 

    Host github-public 
     HostName github.com 
     User git 
     IdentityFile ~/.ssh/id_rsa_public 

    Host github-personal 
     HostName github.com 
     User git 
     IdentityFile ~/.ssh/id_rsa_personal 

上述文件將幫助您並行處理兩個github帳戶。還ü可以參考Multiple ssh keys

詹姆斯·弗格森補充信息這重要的一點:

... you [may] need to alter your .git/config remote url to point to [email protected]/<reponame>.git etc., rather than the usual [email protected]/<reponame>.git

+0

這似乎不起作用。我仍然獲得了拒絕的權限。這是我的〜/ .ssh/config文件的樣子:http://pastebin.com/JNiTUbVU –

+0

你是否爲公司用戶添加了'〜/ .ssh/id_rsa.pub',以及'〜/ .ssh/John .pub「嗎?但無論如何,正確的做法不是爲公司創建特定用戶,而是爲組織創建特定用戶。 –

+0

偉大的作品在我身邊。謝謝! – D6mi

5

傻系統不會讓我對對方的回答評論,因爲我沒有足夠的聲譽,但約翰評論說,它不適合他。

也許你錯過了一步是你需要改變你的.git /配置遠程URL指向[email protected]/<reponame>.git等。而不是通常的[email protected]/<reponame>.git

0

你可以使用不同的github倉庫相同SSH密鑰,但不能使用許多庫相同SSH密鑰(即同一倉庫的不同登錄或叉)作爲github上不允許同部署關鍵不止一次對儲存

您可以創建在您的機器不同的密鑰,而不會干擾喜歡你現有的密鑰:ssh-keygen -t rsa -C "[email protected]"
現在提供的文件名來識別您的密鑰存儲庫

Enter file in which to save the key (/home/demo/.ssh/id_rsa):/home/demo/.ssh/id_rsa_mykey<br> 

有關詳細信息,請參見https://developer.github.com/guides/managing-deploy-keys/#deploy-keys

相關問題