2015-07-02 73 views
3

我看了幾個答案和論壇的解決方案,但我找不到一個工程。如何在Eclipse上使用多個Git SSH密鑰?

我有這樣的場景:

  • Eclipse的月神服務版本2(4.4.2)
  • 的Ubuntu 14.04 64我~/.ssh文件夾
  • 兩個SSH密鑰
  • 兩到位桶賬戶(一個用於個人項目和一個企業)
  • 一個只能用我的主鍵(〜/ .ssh/id_rsa)訪問的git倉庫
  • 一個Git倉庫只與我的輔助鍵訪問(的〜/ .ssh /其他)

我創建了一個~/.ssh/config文件與內容:

Host bitbucket bitbucket.org 
    Hostname bitbucket.org 
    IdentityFile ~/.ssh/id_rsa 
    IdentityFile ~/.ssh/other 
    User git 

而對於理智的緣故,我添加了第二使用ssh-add的密鑰也是如此。運行ssh-add -l列出了這兩個鍵。

當使用命令行時,所有git命令都像魅力一樣工作,同時具有兩個存儲庫。但是,使用Eclipse的時候,我總是試圖克隆或與二級鑰匙從倉庫拉當Invalid remote: origin錯誤:

Caused by: org.eclipse.jgit.errors.NoRemoteRepositoryException: [email protected]:myuser/myrepository.git: conq: repository access denied. 

我添加了輔助鍵在Window > Preferences > Network Connections > SSH2 > Private keys,並設置GIT_SSH環境變量指向我的ssh可執行文件:

$echo $GIT_SSH 
/usr/bin/ssh 

我已經重新啓動Eclipse甚至操作系統幾次,沒有運氣。

因爲我可以從命令行使用git而沒有問題,所以我傾向於認爲Eclipse有問題。

如何在Eclipse上使用多個Git SSH密鑰?或者如何強制Eclipse在單個項目上使用我的輔助鍵?

回答

3

Host bitbucket bitbucket.org?您不要在一個Host部分聲明多個條目名稱。

我希望看到的SSH配置文件中聲明多個密鑰:

Host bitbucketuserA 
    Hostname bitbucket.org 
    IdentityFile ~/.ssh/id_rsa 
    User git 

Host bitbucketuserB 
    Hostname bitbucket.org 
    IdentityFile ~/.ssh/other 
    User git 

你就可以使用SSH URL像

bitbucketuserA:userA/myrepo1 
bitbucketuserB:userB/myrepo2 

(這是類似於我建議「How to work on personal GitHub repo from office computer whose SSH key is already added to a work related GitHub account? 「)

+0

該文件是基於從[這個問題]接受的答案(http://stackoverflow.com/questions/2419566/best-way-to-use-multiple-ssh-private-keys-on-one -客戶)。更改每個項目的ssh url工作 - 謝謝! –