我們最近設置了Gitolite服務器。一切似乎都很好。我可以連接到它沒有問題。Mac上的Sourcetree連接到Gitolite要求身份驗證
已經建立了一個新用戶,他在Mac上並嘗試使用SourceTree。我能讓他連接的唯一方法是讓他嘗試ssh到服務器,然後我輸入密碼(之後退出)。沒有這個系統就不停地詢問該服務器的密碼。
這是正常的行爲嗎? 非系統管理員用戶如何訪問gitolite?
我們最近設置了Gitolite服務器。一切似乎都很好。我可以連接到它沒有問題。Mac上的Sourcetree連接到Gitolite要求身份驗證
已經建立了一個新用戶,他在Mac上並嘗試使用SourceTree。我能讓他連接的唯一方法是讓他嘗試ssh到服務器,然後我輸入密碼(之後退出)。沒有這個系統就不停地詢問該服務器的密碼。
這是正常的行爲嗎? 非系統管理員用戶如何訪問gitolite?
Gitolite基於forced command,這意味着非交互式會話。
所以:
因此,所有他應該需要的是存儲在~/.ssh
公鑰(確保兩個他home
和.ssh
不是組或世界可寫的),在gitolite-admin/keys
註冊並在gitolite服務器.ssh/authorized_keys
文件發佈。
從那裏,如「Sourcetree and Gitolite」中提到:
如果你是克隆遠程git倉庫,你需要標籤出源路徑/ URL字段來激活克隆按鈕。
該網址將在該點進行驗證。該url不需要使用gitolite的特殊語法,甚至可以尊重您的ssh conf文件中的主機條目。所以在我的情況下,
gitolite:workrepo
的URL就足夠了。
感謝VonC,「gitolite如何使用ssh」特別有用。不知何故,我認爲gitolite將鑰匙添加到了authorized_keys,但我發現我需要手動完成。 – RogerI 2012-07-27 16:35:11
@RogerI是的,Gitolite會自動將公鑰添加到authorized_keys文件中,將該密鑰鏈接到gitolite-shell腳本(至少對於gitolite v3,也稱爲g3)。我不會建議手動添加密鑰。 – VonC 2012-07-27 16:55:13
嗯......我在另一臺Mac(不同的用戶)上再次嘗試過。在服務器上,她的pub key似乎已被正確添加到authorised_keys,在她自己的機器上,known_hosts有一個服務器條目。但是,當我嘗試添加「測試」回購時,它仍然要求輸入密碼。彈出窗口的標題爲「需要密碼」,並位於「用戶在主機上git」下面。密鑰在我的Mac上生成並複製完成。 –
RogerI
2012-07-28 14:58:50