2011-05-13 150 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