2011-05-13 597 views
5

我試圖在運行在Amazon EC2上的ubuntu服務器上放置一個純粹的git存儲庫。我遇到的困難是讓git從我的本地電腦中克隆存儲庫。從EC2實例克隆git存儲庫時遇到問題

當我嘗試:

git clone [email protected]:/opt/git/project.git 

我得到:

Cloning into project... 
Unable to open connection: 
Host does not existfatal: The remote end hung up unexpectedly 

但我沒有ssh'ing到同一服務器上的任何困難。例如,下面的工作正常:

ssh [email protected] 

我的想法是,如果這是工作的話,我有我的鑰匙恰當地設置客戶端和服務器上。因此,git clone命令也應該起作用。

但是沒有。

我已經研究並嘗試了一些變化,但我只是有預感我錯過了腦死的簡單東西。

回答

7

檢查以確保git正在做你認爲它正在做的事情,然後嘗試git用來聯繫遠程服務器的確切命令。

運行GIT_TRACE=1 git clone [email protected]:/opt/git/project.git

Git會告訴你命令它正在運行,前

trace: run_command: 'ssh' '[email protected]' 'git-upload-pack '\''/opt/git/project.git'\''' 

然後,您可以嘗試運行該命令自己從圖片中消除的git:

ssh [email protected] git-upload-pack '/opt/git/project.git' 

雖然看起來似乎不大可能給出了您報告的錯誤消息,但對命令進行的分析還可以提供提示:

strace -o/tmp/tr -s128 -f ssh [email protected] git-upload-pack '/opt/git/project.git' 

回報上面顯示的調試信息,如果仍然存在問題。

+0

感謝您的調試幫助。它給了我一些想法。我無法解釋爲什麼,但升級我的版本msysgit 1.7.3.1預覽到1.7.4預覽似乎解決了這個問題。我希望得到比這更清楚的東西,但是你有它。 – Rydell 2011-05-22 04:48:15

0

git帳戶可能沒有對該存儲庫/分支的讀/寫訪問權限。

+0

正在嘗試您的建議。但是,您需要的不僅僅是讀取克隆的訪問權限嗎? – Rydell 2011-05-16 13:22:37

0

Git使用端口9418.這是在您的實例上打開嗎?

+1

真的嗎?我認爲git通過ssh協議(端口22)工作,這正是我試圖做的。我打開了端口80和22。我沒有使用git服務器(gitosis?)。 – Rydell 2011-05-17 22:55:46

+1

只有git協議/ git守護進程是9418 – manojlds 2011-05-18 03:23:34

0

嘗試添加ssh://到遠程地址。如果沒有它,我從來沒有好運氣讓git始終如一地工作。

git clone ssh://[email protected]/opt/git/project.git

2

有趣。我試圖從外部GIT源克隆到EC2主機時遇到了類似的問題。我使用上面的一些東西得到了一些東西。

它一直未能有:

[[email protected]*.*.*. mediagoblin]$ sudo git clone git://gitorious.org/mediagoblin/mediagoblin.git 
Cloning into mediagoblin... 
gitorious.org[0: 87.238.52.168]: errno=Connection timed out 
gitorious.org[0: 2a02:c0:1014::1]: errno=Network is unreachable 
fatal: unable to connect a socket (Network is unreachable) 

然後我試着用ssh://更換git://並獲得:

sudo git clone ssh://gitorious.org/mediagoblin/mediagoblin.git 
Cloning into mediagoblin... 
The authenticity of host 'gitorious.org (87.238.52.168)' can't be established. 
RSA key fingerprint is *:*:*:*:*:**:. 
Are you sure you want to continue connecting (yes/no)? yes 
Warning: Permanently added 'gitorious.org,87.238.52.168' (RSA) to the list of known hosts. 
Permission denied (publickey). 
fatal: The remote end hung up unexpectedly 

我然後跑原來git://要求和它的工作。

我希望有幫助。

+0

是的,這對我有用。奇異的 – Craicerjack 2017-08-22 13:10:59