簡體   English   中英

克隆遠程git存儲庫問題

[英]Clone remote git repository problem

我試圖在我的遠程ubuntu 8.04服務器上啟動並運行git存儲庫並安裝git和gitosis。 我也在本地ubuntu 10.04機器上運行git。

在嘗試使所有功能正常工作之后,我設法使ssh密鑰正常工作。 當我輸入:

ssh git@myserver.com

它返回:

PTY分配請求在通道0上失敗

錯誤:gitosis.serve.main:環境中需要SSH_ORIGINAL_COMMAND。

與123.456.789.1的連接已關閉。

據我了解,這意味着我已成功連接到服務器並且ssh密鑰被接受,但是因為它沒有收到任何命令,所以它關閉了連接。

當我嘗試獲取倉庫時:

須藤git clone git@myserver.com:gitosis-admin.git

它返回:

在/home/git/repositories/gitosis-admin/.git/中初始化了空的Git存儲庫

git@myserver.com的密碼:

問題是,我沒有設置密碼或短語,也不接受空密碼或服務器密碼或本地計算機的密碼。 我了解它根本不要求輸入密碼,因為它應該接受ssh密鑰(無密碼)並開始下載。

從這一點開始,我不知道如何將遠程存儲庫獲取到本地計算機,因此可以開始使用git。 我希望有人能指出我正確的方向。

身份驗證在您的第一個測試( ssh git@server )中起作用。 如果身份驗證失敗(或由於提示而停滯),您將永遠不會看到gitosis發出的消息。 當您嘗試執行普通的非命令ssh而不是讓git在內部使用ssh時,應該會收到報告的警告和錯誤。

但是,您是在稍微不同的環境中(在sudo下)進行克隆的。 問題可能是sudo下的ssh未使用非sudo測試ssh使用的私鑰。 在我的測試中, sudo ssh始終使用~root/.ssh文件,即使HOME指向普通用戶的主目錄也是如此。

解決方案:

  • 放棄使用sudo克隆存儲庫。
  • 以根身份生成另一個SSH密鑰對,並將其公共組件添加到gitosis配置中。

還有另一種方法,但這是丑陋的。 我只會對此有所提示,因為對我來說這似乎是一個壞主意。 您可能會濫用root權限來讀取另一個用戶的私鑰文件(如果有密碼,則仍然必須鍵入該密碼)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM