2010-09-09 232 views
2

我想獲得一個git倉庫並運行,並在遠程ubuntu 8.04服務器上安裝git和gitosis。我也有git在我的本地ubuntu 10.04機器上運行。克隆遠程git存儲庫問題

在嘗試完成所有工作後,我設法讓ssh密鑰正常工作。當我鍵入:

ssh [email protected]

返回:

PTY allocation request failed on channel 0

ERROR:gitosis.serve.main:Need SSH_ORIGINAL_COMMAND in envirement.

Connection to 123.456.789.1 closed.

據我瞭解,這意味着我成功地連接到服務器和SSH密鑰被錄取了,但因爲它沒有得到任何命令它關閉te連接。

當我試圖讓回購:

sudo git clone [email protected]:gitosis-admin.git

它返回:

Initialized empty Git repository in /home/git/repositories/gitosis-admin/.git/

[email protected]'s password:

的問題是,我沒有密碼或短語集,也不接受一個空密碼或服務器密碼或本地機器密碼。我明白它應該不需要密碼,因爲它應該接受ssh密鑰(沒有密碼)並開始下載。

從這個觀點來看,我不知道如何讓遠程repo到我的本地機器,所以我可以開始使用git。我希望有人能指出我正確的方向。

回答

0

驗證在您的第一次測試中起作用(ssh [email protected])。如果身份驗證失敗(或因提示而停止),您將永遠不會看到來自gitosis的消息。警告和錯誤,當你嘗試做的,而不是讓混帳使用SSH內部正常的,非命令SSH您報道是可以預料的。

但是,您在不同的環境中做了您的克隆(在sudo下)。這個問題也許在於SSH須藤不使用非須藤,測試SSH使用私鑰。在我的測試中,即使HOME指向普通用戶的主目錄,sudo ssh也始終使用~root/.ssh中的文件。

解決方案:

  • 放棄使用須藤的克隆庫。
  • 生成另一個SSH密鑰對作爲根並將其公共組件添加到您的gitosis配置中。

還有一種方法,但它是一個醜陋的;我只會留下一些暗示,因爲這對我來說似乎是個不好的主意。您可能讓root用戶濫用其權力來讀取其他用戶的私鑰文件(如果有的話,您仍然需要輸入密碼)。

+0

Tnx !!我花了2天試圖讓這個工作....解決方案非常簡單。刪除sudo解決了問題,並讓我的git倉庫啓動並運行並正在使用中。 :-) – DivZero 2010-09-11 11:26:26