2012-07-27 119 views
1

我們最近設置了Gitolite服務器。一切似乎都很好。我可以連接到它沒有問題。Mac上的Sourcetree連接到Gitolite要求身份驗證

已經建立了一個新用戶,他在Mac上並嘗試使用SourceTree。我能讓他連接的唯一方法是讓他嘗試ssh到服務器,然後我輸入密碼(之後退出)。沒有這個系統就不停地詢問該服務器的密碼。

這是正常的行爲嗎? 非系統管理員用戶如何訪問gitolite?

回答

1

Gitolite基於forced command,這意味着非交互式會話。
所以:

  • 沒有密碼都不應當進入(這裏假設非受密碼保護的私有密鑰)。
    (詳見「how gitolite uses ssh」)。
  • 沒有「非系統管理員」應該可以訪問gitolite服務器本身。

因此,所有他應該需要的是存儲在~/.ssh公鑰(確保兩個他home.ssh不是組或世界可寫的),在gitolite-admin/keys註冊並在gitolite服務器.ssh/authorized_keys文件發佈。

從那裏,如「Sourcetree and Gitolite」中提到:

如果你是克隆遠程git倉庫,你需要標籤出源路徑/ URL字段來激活克隆按鈕。
該網址將在該點進行驗證。

該url不需要使用gitolite的特殊語法,甚至可以尊重您的ssh conf文件中的主機條目。所以在我的情況下,gitolite:workrepo的URL就足夠了。

+0

感謝VonC,「gitolite如何使用ssh」特別有用。不知何故,我認爲gitolite將鑰匙添加到了authorized_keys,但我發現我需要手動完成。 – RogerI 2012-07-27 16:35:11

+0

@RogerI是的,Gitolite會自動將公鑰添加到authorized_keys文件中,將該密鑰鏈接到gitolite-shell腳本(至少對於gitolite v3,也稱爲g3)。我不會建議手動添加密鑰。 – VonC 2012-07-27 16:55:13

+0

嗯......我在另一臺Mac(不同的用戶)上再次嘗試過。在服務器上,她的pub key似乎已被正確添加到authorised_keys,在她自己的機器上,known_hosts有一個服務器條目。但是,當我嘗試添加「測試」回購時,它仍然要求輸入密碼。彈出窗口的標題爲「需要密碼」,並位於「用戶在主機上git」下面。密鑰在我的Mac上生成並複製完成。 – RogerI 2012-07-28 14:58:50