2012-06-16 35 views
2

我在一個項目中,來自LDAP服務器的所有用戶只有電子郵件作爲唯一標識符。我需要讓用戶從Linux服務器上的遠程主目錄克隆他們的項目。所以我正在考慮使用SSH協議對GIT進行身份驗證和授權。作爲Git的電子郵件SSH用戶

但我使用Eclipse的插件,例如:It時面臨的問題,因爲git的克隆命令如下:

git clone [email protected]@reposerver:pathtosomeproject 

的Eclipse試圖逃避@幫助:

git clone jhon.smith%[email protected]:pathtosomeproject 

但這不起作用,並且它顯示一個驗證錯誤。 我所做的就是在電子郵件中放入一個''。

git clone '[email protected]'@reposerver:pathtosomeproject 

這工作得很好,但是當Eclipse的嘗試列出與LS-遠程所有分支在接下來的頁面中,它說,不能用一個錯誤的消息顯示。

我的問題是,如果有人已經經歷了這個要求,並有一個替代解決方案?

我不知道Gitosis在這裏會有幫助,因爲環境不會有組,只有用戶將他們的項目放在他們的主文件夾內,並使用Eclipse EGit克隆和推送項目。

謝謝

回答

0

首先,gitosis is obsolete, use Gitolite。其次,ssh地址用於Git repo服務器的管理員帳戶(例如說'gitadmin'),以檢查其公鑰是否在該~gitadmin/.ssh/authorized_keys中。

當你使用像SSH地址「jhon.smith @ emailserver的@ reposerver:pathtosomeproject」,你問到reposerver SSH守護進程來檢查[email protected]/.ssh/authorized_keys,這是沒有意義的(你有一個 Git的管理員帳戶,而不是一個每個用戶!,我懷疑你會發現在UNIX服務器上的用戶ID名稱'[email protected]')

Gitolite將有助於它將形式化每個用戶將通信的公鑰。閱讀「adding and removing users」和「ssh basis」。
該公鑰的名稱將代表從Gitolite服務器查看其'id'。
(所以不要像[email protected]jhon.smith_emailserverjhon.smith_emailserver.pub複雜的SSH密鑰會做就好了,例如)

+0

我可能是誤會,但我覺得OP實際上確實有UNIX用戶一樣'名字〜 jhon.smith @ emailserver',並且還沒有使用gitosis。只有在像gitosis/gitolite這樣的系統中,只有一個git管理帳戶。 – Dougal

+0

@Dougal true,並且使用ssh身份驗證的中心位置可以避免處理好奇的帳戶名(並且會擁有授權管理的額外好處):so gitolite ftw。 – VonC

相關問題