Проблема клонирования git-репозитория из экземпляра EC2 - PullRequest
5 голосов
/ 14 мая 2011

Я пытаюсь разместить пустой git-репозиторий на сервере Ubuntu, работающем на Amazon EC2. Трудность, с которой я столкнулся, заключается в том, чтобы заставить git клонировать репозиторий с моего локального компьютера.

Когда я пытаюсь:

git clone git@ec2-blah.compute-1.amazonaws.com:/opt/git/project.git

Я получаю:

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

И все же у меня нет проблем с подключением к тому же серверу. Например, следующее прекрасно работает:

ssh git@ec2-blah.compute-1.amazonaws.com

Я думал, что если это работает, то мои ключи должны быть настроены соответствующим образом на клиенте и на сервере. Поэтому команда git clone также должна работать.

Но нет.

Я исследовал и попробовал несколько вариантов, но у меня просто предчувствие, я скучаю по чему-то невероятно простому.

Ответы [ 5 ]

8 голосов
/ 18 мая 2011

Убедитесь, что git делает то, что, как вы думаете, делает, и затем попробуйте точную команду, которую git использует для связи с удаленным сервером.

Выполните GIT_TRACE=1 git clone git@ec2-blah.compute-1.amazonaws.com:/opt/git/project.git

Git будетсказать вам, какую команду он выполняет, например

trace: run_command: 'ssh' 'git@ec2-blah.compute-1.amazonaws.com' 'git-upload-pack '\''/opt/git/project.git'\'''

Затем вы можете попытаться выполнить эту команду самостоятельно, чтобы убрать git с картинки:

ssh git@ec2-blah.compute-1.amazonaws.com git-upload-pack '/opt/git/project.git'

Хотя это кажется маловероятным, учитывая ваши сообщенияСообщение об ошибке, содержащее команду, также может содержать подсказки:

strace -o/tmp/tr -s128 -f ssh git@ec2-blah.compute-1.amazonaws.com git-upload-pack '/opt/git/project.git'

Сообщите об отладочной информации, показанной выше, если все еще есть проблемы.

2 голосов
/ 25 октября 2012

Интересно. У меня была похожая проблема при попытке клонирования из внешнего источника GIT на хост EC2. У меня все работает, используя некоторые из вышеперечисленных.

Не удалось:

[ec2-user@*.*.*. 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)

Затем я попытался заменить git:// на ssh:// и получил:

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 голосов
/ 18 мая 2011

Попробуйте добавить ssh: // к удаленному адресу. У меня никогда не было удачи заставить работать постоянную работу без него.

git clone ssh://git@ec2-blah.compute-1.amazonaws.com/opt/git/project.git

0 голосов
/ 18 мая 2011

Git использует порт 9418. Это открыто в вашем экземпляре?

0 голосов
/ 14 мая 2011

У учетной записи git может не быть доступа на чтение / запись к этому хранилищу / ветви.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...