2015-04-23 70 views
3

我想通過SSH從同一臺機器上獲得多個Bitbucket帳戶。在同一臺機器上的多個Bitbucket SSH帳戶

在我的.ssh \ config文件中,我有:

Host account1.bitbucket.org 
    Hostname bitbucket.org 
    PreferredAuthentications publickey 
    IdentitiesOnly yes 
    IdentityFile ~/.ssh/account1 

Host account2.bitbucket.org 
    Hostname bitbucket.org 
    PreferredAuthentications publickey 
    IdentitiesOnly yes 
    IdentityFile ~/.ssh/account2 

然後,我改變了遠程的git倉庫使用別名:

[email protected]:myUserName/myRepoName.git 
[email protected]:myUserName/myRepoName.git 

然後在佳麗(中系統托盤),我添加了兩個PPK密鑰。

不幸的是,如果我已經將兩個鍵都添加到了Pageant中,那麼只有其中一個帳戶可以工作。

如果我一次只有一個在Pageant中的密鑰,那麼它將適用於我添加到Pageant的任何一個Bitbucket帳戶。

因此,如果在其列表中有多個關鍵字,看起來頁面選項不使用正確的關鍵字。

任何想法,爲什麼它這樣做?

+0

爲什麼不爲所有帳戶使用相同的ssh密鑰? – CodeWizard

+0

我可以做一個捏 - 但我寧願使用單獨的鍵。從網上閱讀,我上面描述的應該工作。有可能是我錯過了一些愚蠢的東西。 – Dan

+0

因此,對於每個帳戶,您必須添加課程密鑰並將所有用戶作爲協作者添加到項目中 – CodeWizard

回答

0

我通過不使用選美得到了這個工作。我使用Sourcetree作爲Git GUI,並且在選項中,有一個下拉菜單,指出是否使用OpenSSH或Putty/Plink。

基於由史蒂​​夫Streeting這裏的描述:

https://answers.atlassian.com/questions/164479/sourcetree-support-multiple-ssh-keys

這聽起來像選美不反正使用的.ssh \ config配置。

通過更改爲OpenSSH,然後使用ssh-keygen重新生成密鑰,並通過Sourcetree的「工具..添加SSH密鑰」菜單添加私鑰,現在可以在多個帳戶之間使用不同的密鑰完美地工作。我只需要改變每個git repo的遠程URL以在配置文件中使用正確的別名(如我的初始文章中所述)。

更新

我已經寫了一篇博客文章這樣的位置: http://www.danclarke.com/multiple-ssh-keys-for-git/

2

link上Atlassian的答案解釋如何使用膩子和SSH有多個帳戶到位桶:

解決此問題的一種方法是在PuTTY 中也執行相同的配置,以消除發送什麼密鑰(以及哪些用戶t 認證爲)。

開啓PuTTY(從putty.org下載它,如果你沒有的話)

類型「到位桶。組織」在主機名稱字段

轉到連接> SSH>驗證樹

指定密鑰爲BB用戶使用

返回到‘樹會話’

鍵入別名「保存會話」(例如BB-USER1)下方, 保存

重複2-6每個BB用戶,並保存爲不同的會話名稱

然後在您的遠程URL中,將「bitbucket.org」替換爲會話 名稱(例如, bb-user1)來消除首先發送什麼SSH密鑰。這個 與在OpenSSH中使用IdentityFile相同。

最後,您可以在pageant中添加密鑰來緩存密鑰密碼。

相關問題